Jump to content
  • Advertisement

Archived

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

duskofthedead

DirectX 9.0 slower than DX8.1

This topic is 5595 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
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.

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
- 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

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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!