Archived

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

Stutter in DX9

This topic is 5209 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

Since my co-workers and I moved to DX9 we''ve noticed an intermittent stutter in our engine that appears to get worse the more geometry is on screen. The stutter isn''t just visual, however, but also affects audio and other subsystems, including systems that are running in independent threads like MS text-to-speech. We''ve seen this stutter occur on all versions of DX9(a and b, retail and debug), on GeForce 3 and 4, on Radeon 9700 and 9800. On the audio side, we''ve heard the issue on Sound Blaster Live and Turtle Beach Santa Cruz cards and under DirectSound and Windows Multimedia. Has anyone else seen anything like this? Any ideas or suggestions?

Share this post


Link to post
Share on other sites
Can you give more details on the kind of stutter? Just a loss of framerate? How often does it happen (every few minutes, seconds)? Have you tried playing with the refresh rate specified in present parameters?

I like pie.

Share this post


Link to post
Share on other sites
It''d be better if you provided more info.
As a wild guess:
WHQL certified drivers can queue up to 3 frames for rendering, and that sometimes causes regular ''hiccups", which has been reported (on DIRECTXDEV) to sometimes make sound out of sync.

Peace,
Muhammad Haggag

Share this post


Link to post
Share on other sites
This is the current problem that I am having at the moment as well. Though I have no sound implemented yet. My framerate drops tremondously the more geometry that is on the screen. This only occurs in Dx9 debug mode, retail seems to work fine.

I have no problems with either debug or retail mode in Dx8.

Anyone have any clues on why this is? I wish I could give you some code or examples, but I have sripped down my code to the bare minimum, and the problem still occurs, even on several other computers.

Carradine

Share this post


Link to post
Share on other sites
Good news. Thanks to the help of Sebastien Domine, over at Nvidia, I was able to find the problem. If you''re running in full screen mode you MUST have the WS_EX_TOPMOST mask set or your app will get intermittently preempted by other threads (even when no other apps are running and you cull all of your services down to the bare minimum). I believe this is contrary to the docs for DX8, though I''m not positive. You do not need to have that mask set when running in windowed mode, and under ATI 9700 and 9800 you''ll see that all is fine, but under all Nvidia cards you''ll still see the problem in windowed mode. Nvidia knows about this and are looking into it.

Share this post


Link to post
Share on other sites
I have changed our code to use WS_EX_TOPMOST for the window creation, however that does not fix the problem for full screen, or windowed mode. I need to install the SDK on a computer with an ATI card and compare the performance. I will let you know if ATI performs better.

I ran the project on an ATI card, and it ran perfectly. I will still look into this problem, but I can find no soluion as of yet.






[edited by - Carradine on September 11, 2003 6:08:15 PM]

Share this post


Link to post
Share on other sites