'Out of Memory' Error in DirectX

Heh. I’m not sure if this is precisely an ‘off topic’ post, since it affects Java3D running under DirectX; and it affects performance issues in general, but since the problem doesn’t seem to be happening at the Java level, this board seems most appropriate.

I recently acquired a GeForce4 MX 440 PCI card and installed it in my machine; the previous card was an embedded ATI Rage Pro PCI with 2MB (!) of video memory, which is still recognized by Windows as video adapter 1, but onto which my Windows desktop is not extended.

This setup works brilliantly with OpenGL applications.

However, any attempt to open a DirectX application fails with an ‘out of memory’ error; in the case of Java3D, this is accompanied by the message:

Fail to create hardware D3D Device, switch to use reference rasterizer. - E_OUTOFMEMORY

My question, therefore, to you, gentle reader, is twofold:

Has anyone of you heard of similar problems, or better still, solutions?

and

Does this sort of behavior constitute an advantage of OpenGL over DirectX?

Respectfully as always,

Barzai