1
0
Fork 0
mutter-performance-source/clutter
Daniel van Vugt 8124914758 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.
2024-08-06 14:08:28 +08:00
..
clutter clutter/frame-clock: Optimize latency for platforms missing TIMESTAMP_QUERY 2024-08-06 14:08:28 +08:00
meson.build clutter: Explicitly depend on cairo 2024-01-27 10:03:15 +00:00