View Single Post
Old 02-Jan-2013, 01:07   #12
Andrew Lauritzen
Join Date: May 2004
Location: British Columbia, Canada
Posts: 2,275

Originally Posted by Zaphod View Post
So, how clever are current games at determining what now() to sample, render and present to the user?
They're not super-clever at all... as I noted, every one that I know of just times the frame loop and uses that as a delta to update stuff. Even for games with fixed physics ticks they still use the frame loop timer to decide how many to do (i.e. it's the same thing, just discretized).

Originally Posted by Zaphod View Post
Obviously, just smoothing out the display rate could just exacerbate issues if the display time of a frame is shifted from the game time. While on the other hand, wildly varying frame times would exacerbate stuttering if the game world runs at a (fixed or) smoothed interval.
Indeed, I don't think there's necessarily a solution for the "big spike" issue other than removing the spikes and providing low, consistent latencies for all operations. A lot of the problem today really stems from the fact that GPU optimization is really finicky... getting something slightly wrong can cut your performance in half or more, so a lot of driver effort is expended to not fall off those cliffs. Ultimately I think we need more robust performance, and generally just more concentration on worst case performance, not best or average case.

For stuff like crossfire/SLI microstuttering due to submission to multiple queues there are potential fixes though like Emil's stuff.
The content of this message is my personal opinion only.
Andrew Lauritzen is offline   Reply With Quote