1
0
Fork 0
mutter-performance-source/clutter
Daniel van Vugt 29e7e4990c
clutter/frame-clock: Optimize latency for platforms missing TIMESTAMP_QUERY
Previously if we had no measurements then `compute_max_render_time_us`
would pessimise its answer to ensure triple buffering could be reached:
```
if (frame_clock->state == CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE)
  ret += refresh_interval_us;
```
But that also meant entering triple buffering even when not required.

Now we make `compute_max_render_time_us` more honest and return failure
if the answer isn't known (or is disabled). This in turn allows us to
optimize `calculate_next_update_time_us` for this special case, ensuring
triple buffering can be used, but isn't blindly always used.

This makes a visible difference to the latency when dragging windows in
Xorg, but will also help Wayland sessions on platforms lacking
TIMESTAMP_QUERY such as Raspberry Pi.

Signed-off-by: Mingi Sung <sungmg@saltyming.net>
2024-09-15 14:00:19 +09:00
..
clutter clutter/frame-clock: Optimize latency for platforms missing TIMESTAMP_QUERY 2024-09-15 14:00:19 +09:00
meson.build clutter: Explicitly depend on cairo 2024-01-27 10:03:15 +00:00