Skip to content

WIP: cogl-winsys-glx: Add a heuristically calculated presentation_time

Daniel van Vugt requested to merge vanvugt/mutter:heuristic-phase into master

The Nvidia driver (on Xorg) lacks presentation timestamps. They're always zero. This means it can unpredictably fall into triple or quad-buffering resulting in high latency and irregular stutters (when the buffer queue fills up and blocks). This branch adds heuristically calculated presentation timestamps so that doesn't happen anymore.

Not only is latency now lower, but keeping at least one free slot in the buffer queue avoids swapbuffers from blocking, which avoids stalling the whole shell.

Closes: #1273 (closed), #1287 (closed), #1291 (closed), #818 (closed)

Edited by Daniel van Vugt

Merge request reports