--- a/ui/vnc.c 2026-09-27 15:40:34 +++ b/ui/vnc.c 2026-09-27 15:40:54 @@ -58,9 +58,14 @@ #include "io/dns-resolver.h" #include "monitor/monitor.h" -#define VNC_REFRESH_INTERVAL_BASE GUI_REFRESH_INTERVAL_DEFAULT -#define VNC_REFRESH_INTERVAL_INC 50 -#define VNC_REFRESH_INTERVAL_MAX GUI_REFRESH_INTERVAL_IDLE +/* + * MyWindows: the VNC client is a local app on a unix socket, so favour latency. + * Upstream uses 30ms base and backs off to 3s when idle, which adds ~90ms of + * input-to-screen delay after short pauses. Keep refreshes between 8 and 16ms. + */ +#define VNC_REFRESH_INTERVAL_BASE 8 +#define VNC_REFRESH_INTERVAL_INC 2 +#define VNC_REFRESH_INTERVAL_MAX 16 static const struct timeval VNC_REFRESH_STATS = { 0, 500000 }; static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };