What is Lag?

One thing I've learned in this business is that different people have different things they call "lag".

Some people call it "lag" when objects take a while to appear after you come near them. This is usually a bandwidth/throttling issue with sending new entities to the client. This kind of lag indirectly goes up when there's lots of people around, because the available bandwidth for your connection has to be metered between sending "people moved" updates and sending "there's more things here" updates.

Some people call it "lag" when other players will jump around or "warp" on the screen. This can be caused by lossy networks (perhaps on the other people's side), Internet weather, overloaded servers, or just plain too much data (again, bandwidth/throttling). This kind of lag usually doens't go up in crowded areas, except if it's crowded enough that there's not enough bandwidth on your allocated connection to send updates for everyone all the time, or if the servers reach 100% load and start falling behind.

Some people call it "lag" when the frame rate is low, so that movements of the mouse on the local machine is slow to affect the camera, and rendering/display has a "stuttering" quality. This is usually caused by the CPU and memory speed on the client machine; sometimes it's caused by the speed of the graphics card. This kind of lag greatly increases when there are more people around, because characters need to be animated, skinned and drawn, which usually takes a lot of CPU and often a lot of graphics power.

Most people can't tell one from the other, and just lump all three in the bin of "lag," which makes trying to diagnose actual problems quite a challenge. I guess the best thing you can do when reporting "lag" is to be very specific:

  • low frame rate?
  • people warping?
  • objects appearing slowly?
  • something else?
  • Combination of the above?