Windows’ default timer ticks every 15.6 ms, so “sleep for just 1 ms” actually lasts until the next timer tick, up to 15.6 ms.
Why Frame limiting and packet sending are implemented with Sleep (a short wait) → Effect The OS wakes the thread only every 15.6 ms → On screen Frame intervals and input send intervals become uneven
Use high-resolution timers, replace Sleep-based waits with event- or V-Sync-based pacing.
Ballpark numbers
15.6 ms steps can’t hit a 16.7 ms interval, so frame intervals alternate between 15.6 ms and 31.2 ms.
On the graph
Always high · Frame interval distribution
Where to look
Look at the distribution of PresentMon’s MsBetweenPresents (frame interval) and the “Platform Timer Resolution” entries in the powercfg /energy report (processes that changed the timer resolution)
Confirmed if
Frame intervals cluster at multiples of 15.6 ms, such as 15.6 ms and 31.2 ms, and the game doesn’t request a higher timer resolution
Ruled out if
Intervals spread out evenly: more likely “Background processes taking up CPU” or frame load than the timer
Check with
The player’s own environment
Learn more
In older versions of Windows, when one program set the timer to 1 ms, it applied to every program. That’s where the saying “leave a browser open and your game runs smoother” came from. Since Windows 10 version 2004, the change applies only to the program that requested it, and Windows 11 may ignore requests from windows that are minimized or fully hidden and not playing sound.
Sources
_WDF_TIMER_CONFIG (wdftimer.h)Microsoft Standard timer accuracy is the system clock tick interval, 15.6 ms by default; high-resolution timers get 1 ms
timeBeginPeriod function (timeapi.h)Microsoft Before Windows 10 2004 it was a global setting; since then it applies only to the requesting process, and Windows 11 doesn’t guarantee high resolution to processes whose windows are hidden or minimized
Results for the Idle Energy Efficiency AssessmentMicrosoft Default system timer resolution is 15.6 ms; the “Platform Timer Resolution” entries in the energy report show which processes changed the timer resolution