You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(drr): cache DRR support probe so it stops stalling input every poll
DrrInterop.IsSupported probes DRR capability by toggling the
BOOST_REFRESH_RATE flag and calling SetDisplayConfig(SDC_VALIDATE), which
on many GPU/driver combos briefly re-evaluates the display pipeline and
stalls the mouse + keyboard. DrrMonitor.CheckDrift ran this on every 30s
poll for every active display -- regardless of whether DRR was even
monitored (the IsMonitored filter is applied after CheckDrift) -- which is
the real cause of the periodic input hitch users still saw after the
v0.1.56 circuit-breaker/tiering fix (that only bounded the apply path; this
is in the check path).
DRR capability is static per display, so cache it: the SDC_VALIDATE probe
now runs at most once per display (cleared on a display-topology change),
and DrrMonitor skips all display-config work for displays the user isn't
monitoring. No log line accompanied the stall because it was a check-time
probe, not an apply -- which is why the change log looked idle.
Adds 4 caching tests via an injectable probe seam. 553 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments