한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game Lag White Paper › L1 Client game process

Missing or too-short interpolation buffer Missing/short interpolation buffer

Cause ID cg-no-buffer · Primary owner Game team (Client development) · Also Game team (Server development)

Open the interactive card with figures and simulations →

If the client draws server packets the moment they arrive, jitter (variation in packet arrival times) shows up directly on screen.

Why Received positions are drawn immediately, or the buffer is shorter than the jitter → Effect Characters stop for as long as a packet is late, then jump when delayed packets arrive together → On screen Other characters move in fits and starts

Symptoms
Stutter
Factors
Jitter
Who’s affected
Just me
When
Always
Owner
Primary owner Game team (Client development) · Also Game team (Server development)
Game team action items
Client: add an interpolation buffer, adjust its length automatically to connection quality. Server: apply lag compensation (rewind-based hit registration) so hits still register correctly when players aim at positions a buffer’s length in the past.
Ballpark numbers
The usual buffer is about twice the server’s send interval (100 ms when receiving 20 updates a second).
On the graph
Always high · Packet arrival intervals, times the interpolation buffer ran empty
Where to look
On the client, record the distribution of server packet arrival intervals and the number of frames that froze or fell back to extrapolation because there was no next snapshot to interpolate to
Confirmed if
Variation in arrival intervals often exceeds the interpolation buffer length, and each time the buffer runs empty and other characters hitch. A longer buffer reduces it
Ruled out if
Hitches even with enough buffer: check whether the server’s send interval itself is irregular (tick delays)
Check with
Game server or client logs and metrics
Learn more
A longer buffer makes movement smoother, but you see opponents that much further in the past. That’s why hit registration comes paired with lag compensation, where the server rewinds to “the past that player was seeing” to check the hit.

Sources

  1. Interpolation and extrapolation (Netcode for Entities 6.5) Unity
    Buffered interpolation deliberately renders late to wait for late packets; a bigger buffer is more accurate but adds that much latency
  2. Struct ClientTickRate (Netcode for Entities 6.5) Unity
    Default interpolation buffer InterpolationTimeNetTicks = 2 (two server sends’ worth)
  3. Physics (Netcode for Entities 6.5) Unity
    Lag compensation: the server finds the collision world the client was seeing at that tick and decides whether the shot hit

See also

Same layer: L1 Client game process

Same symptom (Stutter), other layers

View the interactive card with figures and simulations