Notes |
|
|
PR.
I also attached a new testing wad that allows to reproduce the issue much faster: simply go in and out of the center sector once while holding +jump to get the desync (with 600 ping as reported). |
|
|
|
Please see the comment I just left in the pull request. |
|
|
|
|
|
(0018642)
|
Torr Samaho
|
2017-10-29 11:05
(edited on: 2017-10-29 11:07) |
|
Thanks! The code looks good now, but with your example wad and an emulated ping of 300, I still easily get prediction errors. I attached a demo to illustrate the effect. Perhaps something went wrong when I applied your patch locally. Does this work for you with a ping of 300?
|
|
|
|
The patch works for me.
After watching your demo, I think you misunderstand what should be fixed here:
the misprediction in itself cannot be fixed (you are jumping on bridges which are solid on the server but not on the client), what this fixes is the permanent jumptics desync that would result from such mispredictions.
You may notice that simply running without jumping into the bridges will make the client jitter as well: the position cannot be predicted either due to the nature of the misprediction.
Quote from unknownna for instance bump into an actor that can't be predicted properly, e.g. a moving monster, the jump pattern will in most cases permanently desync until you release +jump.
This is what the patch should fix.
If you try without the patch and with 600 ping, the jumping pattern will never resync unless you let go of +jump.
With the patch however, the jumping pattern resyncs itself almost immediatly (just like the position always did).
Quote from unknownna Once the jumping pattern has desynced, ZDaemon seems to automatically re-sync itself compared to Zandronum.
In real conditions, this may happen when packets are dropped or with ping spikes, we just use 600 ping here because that means the client is teleported back high enough so as to not re-hit the ground and therefore change its jumptics every time. |
|
|
|
Oh, wait. You are saying that your example wad jumping_02.wad intentionally desyncs client and server, so that you are supposed to get mispredictions even with the fix? That's quite unlike the usual example wads here. A small hint that the wad contains an unfixable sync issue that should be disregarded would have been helpful ;). I was apparently looking for the wrong thing. |
|
|
|
|
|
|
You're right, I didn't realise my first note implied the issue was the misprediction itself, my bad. |
|
|
|
Can someone upload a zandronum build with the interpolation bug fixed? The jitter makes this one harder for me to tell if there's something wrong or not. |
|
|
(0019234)
|
StrikerMan780
|
2018-05-10 02:52
(edited on: 2018-05-10 02:53) |
|
Ok, with a high simulated ping of 600, I can trigger some pretty nasty mispredictions by bumping into monsters in jumping_01.wad, but it doesn't stay screwed up, it corrects itself rather quickly. I guess this is normal?
|
|
|
|
If you're talking about the jumping pattern then yes, this is what the fix is supposed to do. |
|
|
|
Yes, I am. So I guess this can be marked as fixed then. |
|