desync on 10-12m game

Discuss the future of Warzone 2100 with us.
Post Reply
User avatar
andrvaut
Trained
Trained
Posts: 200
Joined: 02 Jan 2016, 12:44

desync on 10-12m game

Post by andrvaut »

We play on DA-julia 5x5 two game. We have on ~10m desync.

Video this game:
https://youtu.be/Gr6kZHpVIec?t=1h35m6s
https://youtu.be/Gr6kZHpVIec?t=2h35s

Desync happens after research flame inferno
In attach log players this game.

But we played before and did not meet this problem ...
So I do not know what the cause of the problem is.

Can you tell me how to avoid desynс?
Attachments
wz desink.tar.xz
(3.05 MiB) Downloaded 176 times
vaut ΣΑ [GN], ru streamer.
Tournaments channel: https://www.youtube.com/channel/UCzusNa-54ydodtSz2TdHFww
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: desync on 10-12m game

Post by MIH-XTC »

I observed the following:

20 - 30 seconds prior to the times in your URL's there is an error message:

Error! (Check your logs!)"+: [khr_callback:139] GL::API(Performance:Medium) : using glBufferSubData(buffer


So generally speaking it seems there is some buffer overflow in one of the players graphics card that probably cannot keep up when viewing frames that have a lot of movement e.g. flamer/incendiary graphic effects. That's just my guess.

The timeline of events goes like:

1. That error message above occurs
2. 20 - 30 seconds later there is zzz and the desync begins
3. Next 60 seconds the game is mostly frozen and trying to resync and connect players
4. After 60 seconds the resync attempt times out and one/some players are left indefinitely disconnected
5. Game continues at normal speed but with players seeing entirely different games with many players seemingly not playing at all.

Both times it seemed like player 0 first instigated the desync but since it was the same player (zerg) not sure if it's related to player position or player hardware specs.

I'm guessing that the desyncs are caused by the first person who views a frame in which their graphics card cannot process. I'm also guessing it's not a matter of the OpenGL library compatibility but rather the players graphic card simply gets overloaded and hence the buffer overflow.

Cyp_ wrote the sync code. Is there anyway we can bullet proof the code to ensure things resync in the event that a desync does occur. It looks like the code is trying but after 60 seconds gives up. Can we say something like if resync timesout then force all players gametime = hosts gametime to ensure resync? That might open the door for some cheating possibilities but it's better than completely killing games.
Cyp
Evitcani
Evitcani
Posts: 784
Joined: 17 Jan 2010, 23:35

Re: desync on 10-12m game

Post by Cyp »

Based on the logs, what happened is that addPowerRequest returned true on all computers except for one. Not sure what could cause that, though. It's nothing to do with lag or graphics issues or the synch code "giving up", it's just that all computers calculated the same thing, and one of them somehow got a different answer.
Post Reply