Opened 8 years ago
Last modified 3 years ago
#3700 closed defect
Finish-rejoin lag — at Initial Version
Reported by: | elexis | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Alpha 24 |
Component: | Network | Keywords: | beta |
Cc: | andy011973@… | Patch: |
Description
Since a chat-message is displayed when a client has finished rejoining (#1949), one can easily observe a reoccuring, distinct type of lag ("finished-rejoin lag").
It happens whenever a game has been played for a while (much serialized data). The game appears to be frozen for 5 to 15 seconds.
Here is what happens:
- The client is starting to rejoin.
- The server sends the client a lot of serialized data.
- The client needs a significant time to deserialize it.
- Meanwhile the game has continued (i.e. new turns)
- In order to finish the rejoin, the client simulates the new turns while all other clients wait for him. This is the finish-rejoin lag.
With #3242 rejoins happen more often, so the problem accumulates more in that situation.
In order to solve or reduce the impact of the issue, the playing clients could progress one turn for every five turns that the rejoined client computes. Hence the rejoined client still catches up with the other clients, while those are still able to play.
For the time being, #3241 helps.