Jitter
Jitter is the variation in latency over time — not how long packets take to arrive on average, but how inconsistently they arrive. A connection with high jitter delivers packets in unpredictable bursts, which breaks interpolation and makes games feel erratic.
Average latency is what players report as their ping. Jitter is what makes that ping feel unreliable.
Latency vs. jitter
A connection with 60ms latency and no jitter delivers every packet exactly 60ms after it was sent. The game’s interpolation buffer is sized for 60ms and everything runs smoothly.
A connection with 60ms average latency and 30ms jitter delivers packets anywhere between 30ms and 90ms — or later, in bursts. Some packets arrive ahead of the buffer window (fine, they wait), some arrive within it (fine), and some arrive after it (too late — the client has already rendered that moment using extrapolation or a freeze). The result is the characteristic stutter and snap of a high-jitter connection even when average ping looks acceptable.
What causes jitter
Network congestion causes packets to queue at overloaded routers, introducing variable delay depending on how much traffic is in front of them.
Wi-Fi is the most common source of jitter for home users. The wireless medium is shared, so transmission opportunities are irregular. A microwave, a neighbouring network, or a video call on the same router can introduce significant jitter without meaningfully changing average latency.
Routing instability — packets taking different paths through the internet on successive transmissions — produces variable delays because different paths have different latency.
Server-side load causes jitter from the other direction. A game server that takes variable amounts of time to process its tick — due to CPU load, garbage collection pauses, or shared-host contention — sends updates at irregular intervals. Players experience this as server-induced jitter even on a clean network connection.
Jitter buffers
Games handle jitter with a jitter buffer — the same concept as the interpolation delay. By rendering other players slightly in the past (holding a buffer of recent updates), the client can absorb irregular delivery timing without running out of data to render. The buffer must be large enough to absorb the worst normal jitter without overflowing, but small enough that the deliberate visual lag does not feel significant.
Adaptive jitter buffers measure actual jitter in real time and adjust the buffer size dynamically — tighter when the connection is clean, larger when it degrades. This is how modern game engines keep gameplay smooth on variable connections without introducing unnecessary lag on good ones.
Server infrastructure and jitter
Player-side network issues are outside a studio’s control. Server-side jitter is not. A game server on shared cloud infrastructure — competing for CPU and network with other tenants — introduces tick-timing irregularities that manifest as jitter for all players in that session. Dedicated bare-metal servers with reserved resources eliminate this source of jitter entirely: the server tick runs at a consistent interval, updates go out on time, and any remaining jitter is purely a network problem.
See also: Packet Loss · Latency · Interpolation · Netcode