vague problem

Started by
12 comments, last by Chaucer 19 years, 7 months ago
40 FPS on the reference rasterizer would be a godsend. Usually you're lucky to be getting double-digits!
Advertisement
Guys, bear in mind that if the refresh rate of the monitor is a more sensible 80Hz (or thereabouts) and Chaucer's application is running at an ever so slightly lower speed to that (e.g. 79Hz), the frame-rate with VSYNC on will be the next lowest multiple of that refresh rate, i.e. 40Hz...


There was a change made to the way the swap presentation parameters work between DirectX 8.x and DirectX 9.0. You can find more in the DirectX SDK documentation, in:

DirectX Graphics ->
Converting to DirectX 9.0

in the "Vsync, Intervals, and SwapEffects Changes" sub-topic


Basically, for the PresentationInterval in your D3DPRESENT_PARAMETERS, if you don't want your application's frame rate locked to VSYNC, then use D3DPRESENT_INTERVAL_IMMEDIATE (rather than 0 or D3DPRESENT_INTERVAL_DEFAULT).

[edit]
This is also mentioned in the FAQ for this forum:
http://www.gamedev.net/community/forums/showfaq.asp?forum_id=10#d3d_8to9fpsdrop
[/edit]


Finally, don't pay too much attention to your frame rate if you're using the debug Direct3D runtimes - they perform much more validation of parameters and data when compared to the retail runtimes - this can result in artifially low frame rates.


You'll know when you're running the REF device [smile] - you'll be lucky to get anything over about 6 fps (assuming a non-trivial scene) unless you have a mega beefy machine.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

Well, he said he was just displaying the framerate - even my 11 year old crappy Pascal rasterizer could do that at 40 fps (in VGA mode at least [wink]).

But I overlooked the VSync issue, so really looks like that's the cause.
You were right. Changing to D3DPRESENT_INTERVAL_IMMEDIATE unlocked it for me. Thank you so much.
Thanks!

This topic is closed to new replies.

Advertisement