Quick answer: Pygame Clock.tick(60) producing irregular frame times on 144Hz Windows monitors? Windows timer resolution too coarse - call timeBeginPeriod(1) at startup or accept the jitter.
Game caps at 60fps; frame times oscillate between 13ms and 20ms on a 144Hz display.
Raise timer resolution
import ctypes
ctypes.windll.winmm.timeBeginPeriod(1)Forces 1ms timer resolution. Clock.tick precision improves dramatically.
Or use tick_busy_loop
Spin-waits for precise timing. Eats one CPU core; precise timing.
Match monitor rate
If running on 144Hz, target 144 fps. The monitor's vblank aligns naturally.
“Windows timer resolution is a system-wide setting. Most code accepts the default.”
Pair timeBeginPeriod with timeEndPeriod on shutdown. Leaving 1ms resolution active globally slows other applications.