Jump to content

  • Log In with Google      Sign In   
  • Create Account

Felipe Lira

Member Since 27 Nov 2006
Offline Last Active Jul 13 2012 05:29 AM

Posts I've Made

In Topic: Game runs choppy even with high frame rate

13 July 2012 - 05:31 AM

I'm about to get my hands on a guitar hero and check that. I'd appreciate if you could share your time. Thanks.

In Topic: Game runs choppy even with high frame rate

12 July 2012 - 10:28 AM

Well, after a lot of more tests I realized that the problem was either in the way I was measuring time, which I find really unlikely due to the fact that I've tested many timers, or something in the graphics card that was preventing it from rendering to screen, like it was skipping frames.

I found the exact term for that and it made a lot easier to search for the solution after. It's called (macro/micro) stuttering. It can be caused by a whole variety of this, not related to your game (yay! the art of PC game programming).

It could be due to an anti-virus running, instant message programs interference, multi-GPU sincronization (micro stuttering), laptop clock variety due to power consumption settings, intel processors can give errors due to "intel speed stepping" that changes cpu clock based on cpu usage (that would probably mess up with my QFC timer) http://www.intel.com/cd/channel/reseller/ASMO-NA/ENG/203838.htm, it could be a driver problem (nvidia as of today 07/12/12 has a driver bug that causes micro-stuttering in single GPU for GTX 6 card family): http://videocardz.com/33159/nvidia-v-sync-stuttering-caused-by-drivers-bug-fix-coming

Well in my case I realized another particularity, as stated before that enabling vsync fixes the issue. What is probably happening is a tearing effect that gives the illusion of a frame skip, since the camera is fixed I don't see the "tear line", only notes scrolling weirdly. I can't really tell if a tearing is happening because it scrolls so fast, but I'm accepting it for now as vsync fixes the issue.

I hope it helps someone out there struggling with this problem.

In Topic: Game runs choppy even with high frame rate

09 July 2012 - 06:43 AM

I believe the choppiness is due to the interference between your forced ("hard coded") 60 fps and the display's refresh rate

Thanks for replying to that. I agree with you about being user's responsibility to force that off. I'm also concerned that some Intel HD chipsets have a bug that fails to turn vsync on. My brother-in -law has one of those. I think I should put some more effort into this.

I get the hiccups by capping frame rate on software it doesn't matter if vsync is on or off. It can indeed be interference between vsync and my code, but it seems to be other problem too. I did a few more tests in the weekend and realized those hiccups are evenly spaced in time. With 30fps cap I get hiccups every ~2s, while at 60 I get every ~0.5s which is really annoying.

It just occurred to me. Can this be a thread yielding problem. I mean, maybe between my measured time and the update another thread would run making my time measure not right for that update. Next frame when it tries to compensate it would give a jump. If that is the case, how should I proceed, execute time query and update in a critical section, block interruptions if that is even allowed?

I'll try this a little harder, if I get some progress I'll let you know. Again, thanks for the insight, I really appreciate that.
Best Regards,

In Topic: Game gets higher fps when executing through gDebugger

31 May 2012 - 08:11 PM

Figured out the magic, it turns out the gdebugger has vsync off while my game setting turns it on.

In Topic: Game gets higher fps when executing through gDebugger

31 May 2012 - 10:44 AM

It would be awesome to ship with gDebugger, hehehe. But seriously, I'm hitting 60fps in my hardware, which is a fairly good computer, other less powerful hardware will not achieve that. I guess it would be a better approach to debug on worse machine and find the bottleneck there instead of mine. The fps problem still bugs me though.

I wonder if gDebugger has some sort of dark magic...