How The Frame Skipping Test Works
The test runs a requestAnimationFrame loop and records the timestamp delta between each callback. In a properly-vsynced browser on a 60 Hz monitor, every delta should be roughly 16.67 ms; on a 144 Hz panel, 6.94 ms. Any delta exceeding 1.5× the expected interval is flagged as a skipped frame, and the number of frames skipped is derived by rounding delta / expected. The first ~1 second of test time is used to auto-calibrate the expected interval (median of initial deltas), so the same test works on 60, 75, 120, 144, 165, 240, and 360 Hz displays without configuration.
Why Browsers Skip Frames
Even on fast hardware, browsers skip frames for several reasons: JavaScript garbage collection stalling the main thread for 20+ ms, layout thrashing from extensions mutating the DOM, GPU compositing falling behind on scroll or animation, hardware acceleration being disabled, or thermal throttling on laptops. Battery-saver profiles often downclock the GPU and cause occasional skips. If your test shows steady skips every 1-2 seconds at a predictable cadence, the culprit is almost always a browser extension hooking into every frame (common with screenshot tools and ad blockers that rewrite CSS live).
Frame Skipping vs FPS
FPS alone does not tell you about frame pacing. You can average 144 fps with a pattern like 5, 15, 5, 15 ms per frame and feel like garbage, because half your frames are stuttering. A true benchmark needs to measure the distribution of frame times, not just the mean. This tool reports the worst delta, jitter (standard deviation), and count of skipped frames so you can tell whether your 60 Hz display is actually showing 60 smooth frames per second or an uneven 58-62 fps with visible hitching.
Using This With Other Display Tests
Pair this tool with our FPS test, refresh rate test, and ghosting test for a complete display workflow. FPS tells you the average rate, refresh rate tells you what the panel supports, ghosting tells you about pixel response time, and this test tells you whether the browser is actually delivering frames at the expected cadence. A panel can have zero ghosting, native 240 Hz support, and still feel choppy if the browser is dropping every fifth frame.