When I use the “Frameadvance” hotkey (I think by default it’s bound to “K”, I can see movement on every frame.
It’s hard to be able to exactly know what’s the problem when everything seems to report it as 60 fps.
It’s strange that you mention that you don’t have problems with the demo, because there should be no difference. Is it just a matter of “feeling”, or is there a specific way I can test this?
Does having the menu open on top of the demo make any difference vs not showing the menu?
Btw, the movement of the player and the motion of monsters (not their animations, obviously) should be 60fps, but doors, sectors and scrolling flats are not (those require updating the thinkers and there were some gitches I didn’t get around to fix yet).
I tried the original PrBoom and PrBoom Plus, both have an option to uncap the framerate which has no issues and gave me 60fps (I’m guessing limited by v-sync); perhaps this option could be introduced to the core?
That was what I actually was doing. The problem is that libretro cores work a bit different, specially if you want to keep being able to control the speed through the frontend. PrBoom uses timers and that’s not a good fit for libretro, so instead each frame a fraction of the game tic is added (there’s meant to be 35 tics per second in original Doom, things like demo playback and multiplayer rely on that). So that’s why multiples of 35 work best, the movement gets interpolated to make it smoother, but the actual game still tries to behave as if it was 35 fps for compatibility, most Doom engines do that.