DirectX 9.0 slower than DX8.1

Started by
7 comments, last by duskofthedead 21 years ago
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
Advertisement
If somehow you have the debug dx9 runtimes enabled and didn''t have the debug dx8 runtimes enabled, then that could be your problem.
Thank you for the hint.
Unfortunately, I use debug runtime in both DX8.1 and DX9.0. So, it cannot be the explaination.
It''d be more fair if you compared them in Release mode...
[s]--------------------------------------------------------[/s]chromecode.com - software with source code
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
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
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.
EvilDecl81
- Might have to do with the drivers also?
- I highly doubt that the switch would cause such frame rate losses (retail). Maybe the default values for some render/sampler states have changed, causing the difference.

Cheers,
Muhammad Haggag

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.

This topic is closed to new replies.

Advertisement