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

[Feature request] Ability to set custom display refresh rate #150

Closed
eugene-s-nesdev opened this issue Jun 5, 2021 · 6 comments
Closed

Comments

@eugene-s-nesdev
Copy link

eugene-s-nesdev commented Jun 5, 2021

Mesen have nice option to force user-specified refresh rate in fullscreen mode.
User can select it from drop-down list of refresh rates that your GPU/Dispaly support:

mesen

Nestopia had "auto" refresh rate function in fullscreen depending of region.
For NTSC emulator try to set 60 or 120 Hz, prefer higher value, if hardware supported it.
For PAL/Dendy emulator try to set 50 or 100 Hz, prefer higher value, if hardware supported it.
It was really nice when i had CRT, which supported 60-75-85-100-120Hz

nestopia

I guess nice idea is combine this methods.
To make an separate "fullscreen preferred refresh rate" option.
Two drop-down menus where user can set prefferred hardware refresh rate: one for NTSC, second for PAL/Dendy

I don't know, though, is really need to allow reading permissible refresh-rates list from system videodriver, or make it fixed?
If some value don't supported by hardware, to let user select another permissible value by yourself.

Fortunately, lastest modern LCD displays have wide range of refresh rates native support, usually 50-144Hz
as well, as AMD FreeSync or Nvidia G-Sync technologies for automatic refresh adjustment.

@punesemu
Copy link
Owner

Hi Eugene, puNES in fullscreen mode use resolution and frequency of the monitor used by the OS. Do you have any flicker problems?

@eugene-s-nesdev
Copy link
Author

eugene-s-nesdev commented Jun 19, 2021

Hi Fabio. No, i don't have problems, all works like a charm.
True reason of this topic/request - ability to smooth (no-tearing) scroll, which is avaliable ONLY
when physical refresh rate corresponding with emulator output.

When emulating NTSC 60Hz games - preferred physical refresh rate = 60Hz or multiple 120Hz
When emulating PAL 50Hz games - preferred physical refresh rate = 50Hz or multiple 100Hz
This settings + vsync gives true smooth scrolling.

Most of PC-hardware runs at default 60Hz refresh rate, so it's good for NTSC but cause jerky scroll on PAL.
Not so much emulators have ability to switch between refresh rates separately depending of region.
Of course, i mean fullscreen mode.


Also, look here please:
libretro/common-shaders#165

Your last commit 31a7bd2
fixes the crash problem. Do you saw that topic before?

@punesemu
Copy link
Owner

Hi Fabio. No, i don't have problems, all works like a charm.
True reason of this topic/request - ability to smooth (no-tearing) scroll, which is avaliable ONLY
when physical refresh rate corresponding with emulator output.

When emulating NTSC 60Hz games - preferred physical refresh rate = 60Hz or multiple 120Hz
When emulating PAL 50Hz games - preferred physical refresh rate = 50Hz or multiple 100Hz
This settings + vsync gives true smooth scrolling.

Most of PC-hardware runs at default 60Hz refresh rate, so it's good for NTSC but cause jerky scroll on PAL.
Not so much emulators have ability to switch between refresh rates separately depending of region.
Of course, i mean fullscreen mode.

Ok, I've understand, I will try to figure out how to fix the problem.

Also, look here please:
libretro/common-shaders#165

Your last commit 31a7bd2
fixes the crash problem. Do you saw that topic before?

No, I hadn't seen the discussion, it was just a coincidence 😄. I had downloaded the latest shaders and found that some did not work giving me black screen or crashing or loading the variables wrong and I wanted to eliminate all the problems.

@punesemu
Copy link
Owner

punesemu commented Jun 28, 2021 via email

@eugene-s-nesdev
Copy link
Author

Yes, i will glad for test it. I have 2 displays that capable 50-60-75 Hz.
Unfortunately i don't have my old CRT that can get 100-120Hz, but i guess, it's will work anyway
I wrote you email.

@punesemu
Copy link
Owner

7666b72

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

2 participants