Skip to content

clutter/stage-cogl: Reschedule update on present

Daniel van Vugt requested to merge vanvugt/mutter:reschedule-on-present into master

If an update (new frame) had been scheduled already before _clutter_stage_cogl_presented was called then that means it was scheduled for the wrong time. Because the last_presentation_time has changed since then. And using an update_time based on an outdated presentation time results in scheduling frames too early, filling the buffer queue (triple buffering or worse) and high visual latency.

So if we do receive a presentation event when an update is already scheduled, remember to reschedule the update based on the newer last_presentation_time. This way we avoid overfilling the buffer queue and limit ourselves to double buffering for less visible lag.

Closes: #334 (closed)

Prerequisite: !520 (merged)

Edited by Marco Trevisan

Merge request reports

Loading