On Wed, Apr 18, 2018 at 5:58 AM, Keith Packard keithp@keithp.com wrote:
Michel Dänzer michel@daenzer.net writes:
Time-based presentation seems to be the right approach for preventing micro-stutter in games as well, Croteam developers have been researching this.
Both the Vulkan GOOGLE_display_timing extension and X11 Present extension offer the ability to specify the desired display time in seconds.
Similarly, I'd suggest that the min/max display refresh rate values be advertised as time between frames rather than frames per second.
I'd also encourage using a single unit for all of these values, preferably nanoseconds. Absolute times should all be referenced to CLOCK_MONOTONIC.
+1 on everything Keith said. I got somehow dragged in khr vk discussions around preventing micro-stuttering, and consensus seems to be that timestamps for scheduling frames is the way to go, most likely absolute ones (not everything is running Linux unfortunately, so can't go outright and claim it's guaranteed to be CLOCK_MONOTONIC). -Daniel