Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto refresh rate at 60Hz default is not smooth #123

Open
inactive123 opened this issue Oct 20, 2019 · 5 comments
Open

Auto refresh rate at 60Hz default is not smooth #123

inactive123 opened this issue Oct 20, 2019 · 5 comments

Comments

@inactive123
Copy link
Contributor

inactive123 commented Oct 20, 2019

@Ferk

If you have RetroArch set to 60Hz and then start Prboom core with Framerate left to auto, you will notice that the framerate is not smooth. You then need to set the Framerate manually to 60fps inside Prboom to get a smooth framerate.

As for why this is happening, it might be because we get a float value back from RETRO_ENVIRONMENT_GET_TARGET_REFRESH_RATE, whereas info->timing.fps is a double value. Perhaps the value we get back (target_framerate) is not exactly identical to 60.0 ?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@inactive123
Copy link
Contributor Author

Hopefully this can be fixed soon since it's really disappointing that the game seems to run so poorly now by default.

@Wintermute0110
Copy link

Wintermute0110 commented Nov 28, 2019

Problem could be the way the frame interpolation is done. Fabian Greffrath in his port Crispy Doom looks to have done it correctly. More details and a code example in this post in Doomworld.

In my Linux high-end laptop I have tried Libretro PrBoom, PrBoom-Plus, Chocolate Doom, Crispy Doom, Zdoom ang GZDoom and Crispy Doom is by far the best experience when running at 60 Hz with vertical sync and uncapped frame rate. The best way to see the issue is when player is rotating and not moving (that is, pressing left arrow or right arrow keys only).

EDIT: OK, what I commented is not strictly related to this issue. However, Libretro PrBoom does not run as smooth as Crispy Doom and still I think is because the way the interpolation is done.

@inactive123
Copy link
Contributor Author

inactive123 commented Nov 28, 2019

@Wintermute0110 I think you should split this off into another issue, this is not the same issue as what I'm talking about.

I repeat, without the core option 'auto', the framerate is smooth and has no issues, it's merely to do with the value being passed down. This has nothing to do with any perceived smoothness vs. any source port, it is simply a core option implementation that is done wrong in some way. Your issue with the frame pacing/frame rate could be the subject of another Github issue report but it is not related to the issue at hand in this one here at least.

@vanfanel
Copy link

vanfanel commented Apr 5, 2023

@inactive123 Setting the framerate to 60 inside the prBoom core doesn't give an smooth framerate.
Setting the framerate in prBoom to 70Hz gives smooth framerate, but then music is slowed down.
Do you know if it's possible to have smooth framerates anymore?

@vanfanel
Copy link

vanfanel commented Apr 5, 2023

Oh well, this fixes the audio pitch at refresh rates other than 60FPS:
#182

Still, the game uses internal 35 ticks per second, so it's only smooth at 70FPS....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants