Intelligent switching between 50 and 60 Hz.
-
In the configuration script, which opens after selecting a ROM and pressing any key on the keyboard, you obviously have the option of selecting the refresh rate globally or for the currently opened ROM. Is it somehow automatic, depending on whether you open a PAL or NTSC ROM? The background is that I don't always want to/can't connect a keyboard, especially when the Raspberry isn't at home. Maybe someone can give me a tip.
-
@PARALAX
if you run a 50hz rom on a 60hz display mode (or vice versa) the emulator will just interpolate the rendered output to match. you may get some minor visual skips. your screen may not even support a true 50hz mode and interpolate the content to 60hz anyway, even in 50hz modes. or they may be interlaced modes which has its own drawbacks.i've never heard of anyone changing the display mode to match the content like this - it would seem easier just sorting out your rom collection to have consistent content, or just leave your display mode at 60hz and probably not notice anything.
-
Hi, I'm new here, so please indulge me if this topic is deemed too old to necrobump. It's still relevant though.
There is quite noticeable microstutter when a 50Hz-PAL-title (I'm mainly interested in snes) is outputting its 50Hz cadence to a 60Hz TV input. While it may not be catastrophic, it's a bit distracting nonetheless. In particular after you have seen it run buttery smooth when configured correctly... I've only now realized that those titles can easilybe fixed via the runcommand menu at launch. But this setting is unfortunately only possible on a rom-by-rom basis.
It's also a bit unexpected/non-obvious since Retropie generally has GREAT autoconfig. Also the snes emulator automatically recognizes that it has to use PAL speeds. But one crucial step is missing: changing the output rate to 50Hz. Most modern TV should have no problem whatsoever switching back and force between 50Hz and 60Hz modes. (Even many CRT support both.)
As for the suggestion to have the library only in a single speed, that's mostly very fine advice, but it does fall (slightly) short in practice:
- There are titles only available in PAL regions (e.g. the Astérix games come to mind)
- The games that I physically own (and sometimes play on my actual console) should run at the same speed (reduced, I know) on retropie. That's why I have some games specifically in their PAL release instead of NTSC.
So that's a +1 to automatic recognition and switching between 50 and 60Hz based on content. (I would file an issue on github for this feature request, but I'm not sure against which repo.)
Anyway, happy new year & keep up the good work.
-
@tuxophil said in Intelligent switching between 50 and 60 Hz.:
Hi, I'm new here, so please indulge me if this topic is deemed too old to necrobump. It's still relevant though.
There is quite noticeable microstutter when a 50Hz-PAL-title (I'm mainly interested in snes) is outputting its 50Hz cadence to a 60Hz TV input. While it may not be catastrophic, it's a bit distracting nonetheless. In particular after you have seen it run buttery smooth when configured correctly... I've only now realized that those titles can easilybe fixed via the runcommand menu at launch. But this setting is unfortunately only possible on a rom-by-rom basis.
It's also a bit unexpected/non-obvious since Retropie generally has GREAT autoconfig. Also the snes emulator automatically recognizes that it has to use PAL speeds. But one crucial step is missing: changing the output rate to 50Hz. Most modern TV should have no problem whatsoever switching back and force between 50Hz and 60Hz modes. (Even many CRT support both.)
well, retropie doesn't really make any decisions about display output - it just uses what the system (eg, raspberry pi OS) is set to, unless you manually override it via the runcommand.
it's an interesting situation but i can't think of a way that it could be resolved reliably and without adding a lot of complexity to the runcommand:
- first you would have to work out if the game was 50hz/60hz or not. difficult to do reliably - you can maybe do it via the name of file (some emulators use this method - whether it's got a "
(PAL)
" or "(E)
" in the filename, etc), but that relies on correctly named files. perhaps you could use a checksum, but then you have to maintain a database of all affected games. - you'd also have to only apply it to systems that have this PAL=50hz configuration (eg handheld systems don't AFAIK). this would have to be maintained for new systems added to retropie.
- you'd have to pick the correct resolution - perhaps you'd just try the 50hz version of the current output resolution, but if that's not supported by the display, there's a problem. HDMI displays report what modes they support, but this isn't always complete/reliable.
- first you would have to work out if the game was 50hz/60hz or not. difficult to do reliably - you can maybe do it via the name of file (some emulators use this method - whether it's got a "
-
@dankcushions Thanks for your very elaborate answer! I naïvely assumed that at least the region detection was straightforward (e.g. some flag in the internal ROM header), but after some reading it seems that the region was indeed only "coded" physically by incompatible cartridge sizes. Some bytes of code and data saved I guess.
I'll just manually set the 50Hz rate. I'm definitely grateful that it can be done conveniently in a few seconds!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.