mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-12 19:41:10 +00:00
A new game frame waited for the next screen tick before the compositor drew it: 1.9-3.5 ms on average at 144 Hz, measured with the pacing counters. With frames going straight back to the game (no compositor limit), the compositor now draws as soon as the clients' requests are handled, at most once per refresh, and presentation times stay on the tick. gamescope delivers about one frame per refresh, so the tick leaves a frame younger than one refresh for the next arrival to draw, unless the tick itself changed the window, effects or headset pose; a frame no other frame follows is drawn at the tick after. Once a held frame is still waiting at the next tick (a client paced by frame callbacks), the tick draws every frame for a second before holding one again. The queued draw checks again that drawing on arrival is still on. Paced output (glasses), streaming and frame generation keep drawing on the tick. The hidden pref renderOnCommit (default on) turns it off. The pacing log line counts the scenes drawn on arrival. On the device new frames wait 0.12 ms instead of ~2 ms.