Your speed test says 15 ms ping. Your game feels like it's running through syrup anyway: shots that clearly connected don't register, your character teleports half a step, peeker's advantage feels rigged in every fight. Nothing is "wrong" — except one number your speed test never showed you.
Ping is an average. Games live in the spikes.
Ping (latency) tells you how long one round trip takes. Jitter measures how much that time *wobbles* between consecutive packets — and real-time games are far more sensitive to wobble than to the average.
Game netcode runs on assumptions. Interpolation buffers, rollback windows, hit registration timing — all sized around "packets arrive every ~15 ms, give or take 2". When jitter hits 40–80 ms, packets arrive in bursts: 5 ms, 90 ms, 12 ms, 120 ms. Your opponent's movement model gets starved, then flooded. The server sees a different fight than you do. That's the "I shot him first" death recap.
Where the wobble comes from:
- Wi-Fi — retransmissions, airtime contention from every other device in the house, power-save bursts. Wired vs Wi-Fi is routinely a 3–10× jitter difference.
- Bufferbloat — when someone in the house downloads/uploads, your packets sit in a bloated router queue sometimes (that "why is it only bad at 7 pm" pattern). This is jitter with a schedule.
- Cheap ISP routing — congestion on the path, or peering games between your ISP and the game server's network.
Measure it in 25 seconds
Any speed test shows you ping. Very few show you jitter and latency-under-load. SpeedPulse — which I built, free, no signup, no app, no cookies, all client-side — measures in one run:
- Idle ping (median of 8 samples — one DNS hiccup won't skew it)
- Jitter — the RFC 3550-style mean absolute difference between consecutive ping samples
-
Bufferbloat — a ping train keeps running while the line is saturated by download and upload streams; the tool reports
loaded − idlelatency per direction and grades the worse one A+ to F - Plain-English verdicts for gaming, streaming, calls and browsing
- An 8-CDN cross-check — after the test it pings 8 independent CDN edges (Cloudflare, Fastly, Google, GitHub, AWS…). If the speed-test server is dramatically faster than the pack, your ISP may be treating test traffic specially — the classic "test is fine but my game is not" explanation
What the numbers should look like
| Metric | Good | Hurts | Broken |
|---|---|---|---|
| Idle ping | < 30 ms | 50–80 ms | 100 ms+ |
| Jitter | < 5 ms | 15–30 ms | 40 ms+ |
| Bufferbloat grade | A / A+ | C / D | F |
If your ping looks fine but jitter reads 30 ms+, you've found the ghost in your aim. (Grade thresholds follow the Waveform / bufferbloat.org scale so results compare across tools.)
The fixes, in order of effectiveness
- Go wired. Ethernet is the single biggest jitter fix that exists. If you can't run cable, at least move the work device to 5 GHz and away from the microwave.
- Enable SQM (fq_codel/CAKE) on the router. Trivial on OpenWrt; many stock firmwares have a QoS page. It keeps buffers short so latency stays flat even at full line utilization — the cure for the 7 pm problem.
- Cap upload slightly below your plan. Upstream bloats first; your outgoing game packets are the casualties.
- Rule out ISP-side path issues. Compare jitter to multiple destinations, not just the test server — the 8-CDN panel is a cheap proxy for this. Persistently bad across all edges = your ISP's routing, worth a support ticket with numbers attached.
For the nerds: how you measure jitter without ICMP
Browsers can't send ICMP, but they can time HTTPS round trips: fetch(url, { mode: 'no-cors' }) completes a full DNS+TCP+TLS+HTTP round trip even though the response is opaque. Sample it 8 times, take the mean absolute difference between consecutive samples — that's jitter. Latency uses the median; jitter uses the consecutive differences (deviation-from-mean hides bursty behavior, which is exactly the thing that kills game feel). Full methodology write-up, limitations included: How SpeedPulse measures jitter, bufferbloat and 8 CDN latencies.
If you want the deeper background: what jitter is, in plain English · what a good ping for gaming actually is · how to fix high ping.
Run the test on your own line and drop your jitter number in the comments: speedpulse.tech — happy to help interpret.
Top comments (0)