viti95 / FastDoom

Doom port for DOS, optimized to be as fast as possible!
378 stars 26 forks source link

Implement 60hz 30tics 320x240/640x480 video mode #140

Open TheCyberCafeMAN opened 1 year ago

TheCyberCafeMAN commented 1 year ago

to prevent jittering/frame pacing in the game and improve compatibility in certain monitors

dougvj commented 6 months ago

My changes for #81 could accommodate this but I don't know how to force 60hz without VESA 3.0, which dosbox etc doesn't support. I haven't checked if any other emulators support it, I can try to test with those and some real hardware

viti95 commented 6 months ago

Yep, refresh rate setting is only supported on VBE 3.0 devices (for example with VBEhz TSR). I think this only could work well if we implement some kind of frame interpolation to get more than 35 fps. Also this could only be tested on real hardware, emulators don't care at all about this VBE 3.0 feature.

dougvj commented 6 months ago

I think I have VESA 3.0 hardware, I would be willing to test this out. I know there was some experimental support for VRR in dosbox-x to get 70hz, I am not sure if that went anywhere, but it would be interesting to extend that with VESA 3 support.

I think this only could work well if we implement some kind of frame interpolation to get more than 35 fp

By frame interpolation do you mean interpolation of the velocity/animation state? That would work.

Unclear why we can't run the engine at a higher rate though, is that related to why the uncapped framerate option was dropped?

viti95 commented 6 months ago

I dropped the uncapped framerate option because it was running internally at 35 ticks/second and no interpolation was made at all, so visually it was 35 fps although generating as much frames as possible. And yes, by frame interpolation I mean player / sprites movement interpolation, similar to what GZDoom and similar ports do (this is the hard part, at least for me). I really like this idea, and really want it to be on FastDoom.

dougvj commented 6 months ago

I like that idea too, I will look into in the coming weeks