Open eugene-s-nesdev opened 3 years ago
I think this is blocked by #825/#1207.
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 mode - preferred physical refresh rate = 60Hz or multiple value (e.g. 120Hz) When emulating PAL/Dendy 50Hz mode - preferred physical refresh rate = 50Hz or multiple value (e.g. 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.
This feature was added to puNES/QT (linux and winD3D/OpenGL) in lastest commits: https://github.com/punesemu/puNES/commit/7666b7260732da3b3cc6158a343eb8b3e958e3ef https://github.com/punesemu/puNES/commit/232380ece1723497493d7be097a632b8616a5ca2 https://github.com/punesemu/puNES/commit/4ee0839ac83630b4b4398199d4799fd2c1216a93
It have "Adapt Refresh Rate to the Region" checkbox: For NTSC emulator try to set 60 or 120 Hz, prefer lower value, if hardware supported it. For PAL/Dendy emulator try to set 50 or 100 Hz, prefer lower value, if hardware supported it.
Also, it was added to Mesen fork by mkwong98: https://github.com/mkwong98/Mesen/commit/708a13b1c7c48b89dd4e89352f13894db6913f34
It works very well. This feature will be very useful for all systems, not for NES-only.
If you guys add this you may as well add resolution change option. I currently get around this using reso.exe from becheck. Allows me to launch bizhawk at the resolution and refresh i want. I actually have one launching at 60hz and another at 50hz.
just mentioning this as after I discovered reso it made bizhawk more practical to use on my setup.
Mesen have a 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:
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
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 (for PAL/Dendy if system=NES)
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.