savagetwinky wrote:
Now the one thing they haven't mentioned is there is a huge limitation on DX9. It requires video memory to be shadows in main memory. So rebirth being a 32 process and dx9 is kind of crippled.
No it doesnt, where did you hear that "fact"?
Here, go read about how D3D9
actually manages resources:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
If resources are created using D3DPOOL_DEFAULT, then D3D is free to place that resource wherever it wants, including video memory. This memory IS NOT shadowed to main memory which is one reason by resources that are placed into that pool need to be recreated when the device is lost (eg, an alt-tab)
So, if you don't know how D3D works, here is quick (albeit simplified) primer:
The usual practice of using resources, such as index buffers, vertex buffers, textures, etc, etc, is to load them into D3D. Then D3D gives you an ID(in the form of a COM object), you then use this ID for all future access.
If you want to change a resource (eg, update a texture), then you do what they call a "LOCK" which copies the resource to system ram and gives you a nice pointer you can use to do a memcpy or whatever you want. Then you "UNLOCK" it and D3D can copy it back wherever it was before.
Now, i've run an API monitor on X:Rebirth, and wouldn't you know it, a fair amount of textures (just one example I looked it) were D3DPOOL_DEFAULT.