mirror of
https://github.com/brl/mutter.git
synced 2024-12-23 11:32:04 +00:00
56fc09151d
This is for the Nvidia-X11 driver where `last_presentation_time_us` is always zero. Other drivers should be unaffected. The existing `calculate_next_update_time_us` algorithm only provides a guarantee of not scheduling faster than the refresh rate in the presence of a valid `last_presentation_time_us`. When `last_presentation_time_us` is zero there is no solid foundation to guarantee we're not occasionally scheduling too early. So introduce one now. By introducing a hard guarantee that updates are never scheduled faster than the refresh rate, we avoid keeping Nvidia's triple (or quad?) buffer queue full. So this avoids the high latency and random stalls experienced on Nvidia. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/818, https://gitlab.gnome.org/GNOME/mutter/-/issues/1273, https://gitlab.gnome.org/GNOME/mutter/-/issues/1287, https://gitlab.gnome.org/GNOME/mutter/-/issues/1291, https://gitlab.gnome.org/GNOME/mutter/-/issues/1583 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1726> |
||
---|---|---|
.. | ||
clutter | ||
.gitignore | ||
meson.build |