Game Development Community

D3dcreate_mixed_vertexprocessing Performance

by Arcanor · in Torque Game Engine Advanced · 12/02/2007 (3:58 am) · 1 replies

When setting up the D3D device in gfsD3DDevice.cpp's init(), I'd like to allow D3DCREATE_MIXED_VERTEXPROCESSING instead of D3DCREATE_HARDWARE_VERTEXPROCESSING for video hardware that doesn't support on-board vertex processing. I expected a performance hit when I did this, however I didn't expect it to be so drastic as it is: I'm getting less than 1% of the frame rate, i.e. instead of 100+ FPS, I'm getting less than 1 FPS.

I know that TGEA wasn't written to support such software processing for vertex shaders, but is there a way to provide such support in a way that's not too difficult to implement and provides reasonable performance? Perhaps there is code from the TGE engine which is turned off in TGEA (I also own a TGE license) which I could simply enable or port into TGEA and would make a significant difference?

Thanks in advance!

#1
12/02/2007 (6:36 am)
No there is no way.
The only possibility would be to write a full fallback driver (there has been at least one team that did this) ie that uses Fixed Pipeline for the whole transformation stuff (where TGEA uses Shaders, which is the reason you see that massive hit) and use shaders for the effects where possible and drop some of the effects totally