[client] cursor: pace composited redraws

Coalesce pointer updates to the nominal output cadence instead of
waking the renderer for every transport packet. Keep request and
presented generations separate so updates racing a render receive a
trailing swap.

Let JIT consume cursor changes on display callbacks to preserve VRR
cadence, and use a deadline worker for non-JIT rendering. Give normal
source frames a short grace period so an on-rate feed absorbs the
cursor update instead of producing an extra swap.

Repaint visibility and cursor-content changes even when movement
redraws are disabled, including the transition that hides the cursor.
This commit is contained in:
Geoffrey McRae
2026-08-06 18:52:46 +10:00
parent 604b3082f3
commit 5cc7f06185
3 changed files with 208 additions and 19 deletions

View File

@@ -324,7 +324,7 @@ All command line options
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------------------------------+
| input:rawMouse | | no | Use RAW mouse input when in capture mode (good for gaming) |
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------------------------------+
| input:mouseRedraw | | yes | Mouse movements trigger redraws (ignores FPS minimum) |
| input:mouseRedraw | | yes | Mouse movements trigger display-rate redraws |
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------------------------------+
| input:mouseTrace | | no | Enable mouse input diagnostics |
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------------------------------+