Skip to content

Instantly share code, notes, and snippets.

@SoyRA
Created January 21, 2019 12:42
Show Gist options
  • Save SoyRA/385e18cd8b2cda9e9a1b931d9b750f6d to your computer and use it in GitHub Desktop.
Save SoyRA/385e18cd8b2cda9e9a1b931d9b750f6d to your computer and use it in GitHub Desktop.
Understanding the Lagometer.

Lagometer

A lagometer is a display of network latency on an Internet connection and of rendering by the client. Lagometers are commonly found in computer games or IRC where timing plays a large role. Quake and derived games commonly have them.

Advanced lagometer consists of two lines - bottom and top. The bottom line advances one pixel per each snapshot received from server (by default they are being sent at 20 snapshots per second rate), while the top one advances one pixel per each frame that is rendered by client. Thus, if the machine framerate was 20 per second, both lines - top and bottom - would run at the same speed.

More info at Wikipedia, earthli.

Upper graph

The upper graph advances one pixel for every rendered frame on the client side.
The length of the line is proportional to the time.

  • Blue lines below the baseline mean that the frame is interpolating between two valid snapshots.
  • Yellow lines above the baseline mean the frame is extrapolating beyond the latest valid time.

Basically, blue is good:

  • It's based on two snapshots received from the server, so the frame will not be revoked.
  • Yellow means that the client is predicting what will happen, but hasn't received a snapshot to corroborate it yet. If the next snapshot comes in and doesn't correspond to the prediction, the prediction is revoked and the client is update with the snapshot data. This results in the skipping you experience where you'll end up somewhere very different from where you thought you were (and often with less health than you thought, because you were shot on the server, but the client couldn't predict that happening for you).
    • The upper graph indicates the consistency of your connection. Ideally, you should always have blue bars of only a pixel or two in height. If you are commonly getting big triangles of yellow on the graph, your connection is inconsistent.

Lower graph

The lower graph slides one pixel for every snapshot received from the server.
By default, snapshots come 20 times a second, so if you are running >20 FPS, the top graph will move faster, and vice versa.

  • A red bar means the snapshot was dropped by the network (indicating packet loss).
  • Green and yellow bars are properly received snapshots, with the height of the bar proportional to the ping.
  • A yellow bar indicates that the previous snapshot was intentionally supressed to stay under the rate limit.
    • In a heavy firefight, it is normal for modem players to see yellow bars in the bottom graph, which should return to green when the action quiets down. If you are getting several red bars visible, you may want to look for a server that drops less packets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment