Sign in to follow this  
MonkeyTrooper

App is capped at 60FPS?

Recommended Posts

For some reason my D3D app is capped at either 60 FPS. I have params.PresentationInterval set to D3DPRESENT_INTERVAL_IMMEDIATE, and I don't have VSync enabled in my video card settings or anything either. And if I try to slow it down by adding a bunch of text or sprites to the scene it doesn't go down to 50 or 40 FPS, it jumps all the way to 30, then 15, then 7 or 8, which seems really strange because those are all (roughly) factors of 60. Any ideas what's going on? I'll post some of my code if necessary.

Share this post


Link to post
Share on other sites
The only way I know of to disable VSync is to go into the nVidia contol panel and force it off, which I did, and I'm still getting the 60FPS cap. I noticed that I also get the cap when running other code from D3D tutorials; however I don't get it when running games or Irrlicht demos using D3D. Is there anything else I should be doing? Are there any specific parameters I should be setting or anything?

Share this post


Link to post
Share on other sites
Quote:
Original post by MonkeyTrooper
Yep, I did that, as I said in my first post.


Oh, apparently I didn't read your initial post... Damn MTV!

Anyway, to more things to check:
* Are you running fullscreen or windowed?
* Are you running XP or Vista?


Share this post


Link to post
Share on other sites
If I use FRAPS to measure your framerate, it tells me a value much higher than what your framerate counter gives me (about 160 vs 60). There must be a bug in how you're measuring framerate...you're not using GetTickCount, are you?

Share this post


Link to post
Share on other sites
Same here...I'm getting around 210 with the Fraps counter vs. 66 with your own counter. Before reading MJP's post I was thinking that you probably locked the framerate with some screen updating function and you forgot about it...but if this was true Fraps would have also reported the same FPS. So there is definitely something wrong with your counter.

Share this post


Link to post
Share on other sites
Quote:
Original post by MonkeyTrooper
Ahhhhhhhh. Ya, I'm using GetTickCount(). What should I be using instead?
Well, you can use GetTickCount(), just not to measure a single frame. GTC is accurate to 15ms, which is ~67FPS. Measure how many frames you render in 1 second rather than how long one frame takes, that'll give you a smoother FPS anyway.

Better timers include timeGetTime() (Up to 1ms resolution in theory), and QueryPerformanceCounter() - but that has all sorts of other problems. Have a look on Google on GDNet, and you should find a few posts about the problems.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this