Skip to content
Commit 4faeb127 authored by Daniel van Vugt's avatar Daniel van Vugt Committed by Marco Trevisan
Browse files

clutter/stage-cogl: Reschedule update on present

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: GNOME/mutter#334

Prerequisite: GNOME/mutter!520

GNOME/mutter!281
parent 91ac64bb
Pipeline #83294 passed with stages
in 13 minutes and 3 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment