RADAЯ, on 15 May 2020 - 03:09 PM, said:
Isn't frame interpolation a longstanding feature of EDuke32 though? I thought so because even old builds of JFDuke3D are very smooth. Can anyone point me to where this is defined in the code? The reason why I'm asking is because I'm trying to implement this into XDuke. Until I saw this thread, I thought XDuke was "skipping" frames. Now I understand that it's drawing duplicates. I would like to have this fixed in my own private repository.
Well, interpolation has always been a thing, but the lack of timing precision in the Build engine reduces its perceived smoothness severely.
Interestingly, the recently released video from Digital Foundry on Ion Fury touches on this issue. Apparently, the timer is not exactly synced with the refresh rate, so it exhibits stuttering at a regular interval.
What EDuke32 appears to do is bypass the interpolation for the player angle and update it for every rendered frame (I found the relevant line in the voidpoint link that wasn't on Github).