Post by {USI}_DirTyDeeDs on Jun 20, 2008 13:13:20 GMT -5
Players who join a game already in progress may find themselves and others affected by some serious Lag/Desynch.
A thread topic has been opened @ BI forums and a lead ArmA developer has added some insight and a possible solution to the problem.
(SUMA)
full thread topic HERE
I eagerly look forward to an official solution!
A thread topic has been opened @ BI forums and a lead ArmA developer has added some insight and a possible solution to the problem.
(SUMA)
Thank you for detailed repro steps - this most important part of any bug report, and this is much more important than things like if the bug report is submitted via BTS or a forum.
Thanks to your repro steps we were able to identify the problem and I hope to have some solution available soon. A little bit more information follows:
The "bandwidth balancing" is already implemented and it should work in such a way than one player is never getting extremely disproportional traffic. The problem we have found is in a different area, and surprisingly simple:
For bandwidth control the game needs to know approximate frame duration, so that it knows how much information it should try to send in one frame. What we do is we ask rendering subsystem to tell us average fps for last 16 frames, as this is something rendering already knows. Now the problem is on the dedicated server there is no rendering done at all, and the fps returned by the rendering subsystem is wrong - often numbers like 5 seconds are returned when in fact server is running at 50 fps. We will fix this by not relying on rendering when quering fps for this purpose. We are convinced this fix should not only greatly reduce the JIP caused lag and desync, but hopefully improved bandwidth control and balancing overall.
If someone wants to test meanwhile how balancing code works without this problem, you can try the repro steps above with a normal non-dedicated host. One important gotcha: when testing, make sure the host really is rendering, e.g. by letting someone to really play at it, as once the host loses focus (by alt-tabing or in a similar fashion), it would most likely show the same buggy behaviour again.
full thread topic HERE
I eagerly look forward to an official solution!