Archived

This topic is now archived and is closed to further replies.

DirectX 9.0 slower than DX8.1

This topic is 5377 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I converted my 3D engine from DX8.1 to DX9.0 and the performances are lower with DX9.0. Using the same benchmark 3D scene, I have: DX8.1 DX9.0 Hardware Vertex Process 50 fps 32 fps Software Vertex Process 33 fps 6 fps The only changes in my code were: SetTextureStageState( 0, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP ) into SetSamplerState( 0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP ) SetVertexShader( CORE3D_FVF_VERTEX ) into SetFVF( CORE3D_FVF_VERTEX ) Any explaination would be much appreciated. Thank you very much in advance. Cheers, David

Share this post


Link to post
Share on other sites
I noticed that dxerr9.dll is much larger than the dxerr8.dll!

This may also suggest/imply that DX9 in debug mode inherently performs much more error checking/testing than DX8 in debug mode.

When you complete your performance test in release mode, please let us know of your findings, im now very curious!


www.cppnow.com

Share this post


Link to post
Share on other sites
Hello,

I did my homework. My benchmark with the same 3D scene (using vertex color, real-time lights, point sprites, etc.) with a GeForce4 TI:

DX9.0 Debug runtime installed:

Mode DX8.1 SDK DX9.0 SDK
Hardware Vertex Process 130 fps 105 fps
Software Vertex Process 51 fps 6 fps

DX9.0 Retail runtime installed:

Mode DX8.1 SDK DX9.0 SDK
Hardware Vertex Process 130 fps 100 fps
Software Vertex Process 67 fps 70 fps

So, you are right: the Debug runtime are much heavier in DX9.0, especially in Software Vertex Process.
But, more surprisingly, DX8.1 libs have better performances than DX9.0 libs. So, my conclusion is that I will stick to DX8.1 SDK for the time being !!!

Cheers,

David

Share this post


Link to post
Share on other sites
quote:
Original post by duskofthedead
Thank you for the hint.
Unfortunately, I use debug runtime in both DX8.1 and DX9.0. So, it cannot be the explaination.


Never profile perf in debug. The DX9 debug is more aggresive then dx8.

Share this post


Link to post
Share on other sites
I''m willing to take a guess your running on newer NVidia drivers. My hardware vertex stuff has been crappy lately dx9/nvidia drivers. Gotta just wait until they clean it up.

Share this post


Link to post
Share on other sites