Open thekovic opened 2 years ago
Confirmed. All tests performed on canyonlands.bsp at sv_gravity 550. (vid_vsync 0 obviously). FTE has exactly the same behaviour, btw.
It's entirely dependent on the actual framerate, rather than the host_maxfps value, so it'll likely vary a little between setups.
I can set host_maxfps to 140 to get an actual framerate of ~114fps when looking straight ahead. This makes the jump impossible. If I look down at the ground to bring the framerate to ~120fps, the jump is much more reliable.
With that said, on MY system:
At host_maxfps between ~78 and ~130 the jump is either impossible or very unreliable.
At 78 I can make maybe 1 jump out of 7. At 79 it's more like 1 out of 100.
At host_maxfps 144 it's 100% reliable. Either side of 144 it's like a bell curve where it's reliable in the middle of the range, and less reliable in the outside of the range.
At host_maxfps between 190 -> 200 it becomes increasingly unreliable, and appears to be impossible at precisely 200.
Bizarrely, at >201 it reverts to being fine. Fine at 201, 250, 288, 300, etc.
My only theory: some kind of precision error in the network/renderer isolation formula.
For me, the jump remains unreliable (albeit possible) at host_maxfps 201. At 202, the success rate is above 50 %. At 202, scr_showfps reports framerate between 180-185 (is this the real framerate?)
Thank you so much for the in-depth testing @adelpha . It is clear now that the issue is more nuanced than "72 FPS good, more bad" that I initially made it out to be.
@thekovic Are you sure this doesn't happen in vkQuake too? It also has the network isolation code ported from QSS.
@Novum The issue is not present in vkQuake at 200 FPS which is how my port was setup when designing and creating the map. It is, however, present at other FPS values in vkQuake, namely x<58, 73<x<116 and 145<x<174. All other framerates seem to work.
@thekovic That's what I expected, thanks for confirming this.
Fixed in vkQuake d2c34b38b3fe566873a414e28dea4ef1f0ddafd9
Yep, works well! I'd encourage QSS to implement this as well.
This would be a great addition.
Observed in my map, the player is unable to jump up on top of a block that's 64 units tall when gravity is set 550 in QSS if host_maxfps is set 200. Setting host_maxfps to 72 fixes the issue and matches behaviour seen in QuakeSpasm and vkQuake.
Video of issue: https://www.youtube.com/watch?v=YkcgTKiDAlk
Download link for my map if you wanna test the behaviour yourself: canyonlands.zip