<p>Online games do not work the way you describe. The server doesn't give the client one frame's worth of data every frame. That would be awful. Instead, every client has its own copy of the game state, and the rendering happens as if it were an offline game: every frame, the game state is updated locally. That means your inputs such as moving the mouse to control the view take effect immediately. Things that aren't under players' control (such as the movement of projectiles in flight) are also updated locally. Many games also have some kind of motion prediction for other players' characters - in the simplest case, just updating the state as if they kept going in the same direction.</p>
<p>These state updates are performed by the CPU on its scene-graph, and they result in some update to GPU state too. The frame is then rendered by the GPU, usually in parallel with the CPU starting work on the next frame's updates.</p>
<p>When an update arrives from the server, this also updates the state on the CPU. This update will include new projectiles, replacements for the predicted motions of other player characters, and replacements for the motions of the local player's character (e.g. if they bumped into another player or were hit by some unpredicted projectiles).</p>
<p>Resolving conflicts between the predicted state on the client and the new state from the server, and applying the lag to the server state before applying it, are important parts of the game's architecture that really determine how the game feels to play and what lag looks like. Applying the updates from the server is done within one frame update on the client, so if an update takes too long to apply, it'll cause some frames to be much slower, but the age of the update doesn't really affect that.</p>
<h2>Summary</h2>
<p>Client-server latency doesn't usually increase the frame time, because the client doesn't wait for a server round-trip each frame.</p>

CC BY-SA 4.0
2018-09-22T09:14:35.757Z
2018-09-22T09:14:35.757Z
2020-06-18T08:32:12.800Z
Dan Hulme
<p>It sounds crazy, but I've been doing a lot of reading on exactly why WoW <strong>performs very poorly</strong>, even on a 1080Ti / 8700k OC'd and overall, a high-end machine.</p>

<p>Overclocking the CPU yielded great results, but after ~4.7&nbsp;GHz, my returns were, at best, minimal, as such, running at 5.0&nbsp;GHz makes no difference.</p>

<p>So I was thinking:</p>

<p>The server issues data to the CPU. The CPU issues draw calls to my GPU. My GPU can be downclocked by ~40-50%, and it still won't affect FPS. My CPU is clearly hitting its ceiling.</p>

<p>So, then, could it very well be that, say, on a ~80-90&nbsp;ms connection, my FPS would be limited due to how much it could output, since the GPU is basically waiting?</p>

<performance>
Are MMORPGs, specifically WoW, limited by their latency in terms of FPS?
coolpasta
# Are MMORPGs, specifically WoW, limited by their latency in terms of FPS?

(Asked by: username_0 on 2018-09-21)

It sounds crazy, but I've been doing a lot of reading on exactly why WoW **performs very poorly**, even on a 1080Ti / 8700k OC'd and overall, a high-end machine.

Overclocking the CPU yielded great results, but after ~4.7 GHz, my returns were, at best, minimal, as such, running at 5.0 GHz makes no difference.

So I was thinking:

The server issues data to the CPU. The CPU issues draw calls to my GPU. My GPU can be downclocked by ~40-50%, and it still won't affect FPS. My CPU is clearly hitting its ceiling.

So, then, could it very well be that, say, on a ~80-90 ms connection, my FPS would be limited due to how much it could output, since the GPU is basically waiting?

**Tags:** performance


---

## 1 answers

### Answer by username_1 on 2018-09-22. Score: 4

Online games do not work the way you describe. The server doesn't give the client one frame's worth of data every frame. That would be awful. Instead, every client has its own copy of the game state, and the rendering happens as if it were an offline game: every frame, the game state is updated locally. That means your inputs such as moving the mouse to control the view take effect immediately. Things that aren't under players' control (such as the movement of projectiles in flight) are also updated locally. Many games also have some kind of motion prediction for other players' characters - in the simplest case, just updating the state as if they kept going in the same direction.

These state updates are performed by the CPU on its scene-graph, and they result in some update to GPU state too. The frame is then rendered by the GPU, usually in parallel with the CPU starting work on the next frame's updates.

When an update arrives from the server, this also updates the state on the CPU. This update will include new projectiles, replacements for the predicted motions of other player characters, and replacements for the motions of the local player's character (e.g. if they bumped into another player or were hit by some unpredicted projectiles).

Resolving conflicts between the predicted state on the client and the new state from the server, and applying the lag to the server state before applying it, are important parts of the game's architecture that really determine how the game feels to play and what lag looks like. Applying the updates from the server is done within one frame update on the client, so if an update takes too long to apply, it'll cause some frames to be much slower, but the age of the update doesn't really affect that.

## Summary

Client-server latency doesn't usually increase the frame time, because the client doesn't wait for a server round-trip each frame.


---

