Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?
-
@Dochartaigh glad I could help. I think overclocking will make a big difference with SNES. I couldn't get any decent performance without overclocking.
-
Surprised nobody has really said this.
Bring your Render Resolution wayyy down. Don't let it be the same as your video output.
320x240 is pushing it, although the native resolution is actually lower (256x224 for NES and SNES) on the Pi it looks blurry and doesn't scale right even with Integer Scaling.
So I suggest trying a render resolution of 640x480. You can still Output at 1080p, with a lower render res, you should see a performance boost.
-
@actnash said in Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?:
@Dochartaigh glad I could help. I think overclocking will make a big difference with SNES. I couldn't get any decent performance without overclocking.
You're the second person who said I should overclock...I've used the stock overclock settings which were recommended (literally copied and pasted them) and NES literally runs at a crawl (with lr-fceumm at least, don't think I tried it with quicknes). Tried two different Zeros last night....what could cause this?
@rsimmy said in Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?:
Bring your Render Resolution wayyy down. Don't let it be the same as your video output.
That's why I mentioned lowering the resolution! I will definitely try this - most likely for SNES only as that's still a little slow at times. I don't know what they're default settings is but I'm guessing it's greater than the 640x480 you told me to try.
-
Strange behavior after overclock,all my zeroes got better,maybe crappy slow sd card or small powersupply?
-
@Dochartaigh Yeah, I know every pi is different and I don't have a zero, but the overclock helped everything immensely for me. I went all the way to turbo. And like the previous poster said, you must have a sufficient power supply, especially if you have things connected to multiple USB ports (like wifi single, Bluetooth dongle, etc...) Not sure about the zero, but for all the other pis 2.5amp is recommended for maximum performance. I have this one, and I have my USB controller, wifi dongle, and wifi keyboard dongle hooked up and I haven't seen any performance issues with overclock.
I do disconnect the wifi and keyboard dongle when not in use, because it will put less stress on the pi. But I've played games for hrs and never had it overheat on turbo. The turbo overclock only kicks in when it is needed for performance, so turbo is t running the entire time.
-
Samsung EVO 16GB class 10 SD card. 2.4 amp power supply (tried my Canakit from my Pi 3, and 3amp 24,000mah battery pack too...all on nice usb wires).
-
@Dochartaigh That should be fine. Have you tried quicknes and snes9x2002 with highest overclock setting enabled? It's possible it could also be the newest version of retropie causing the problem because before I downgraded to 4.0.2, I had a lot of issues, even with turbo overclock. But I have read in other forums where overclocking too much caused problems. For me, it has only sped things up and helped.
-
@Dochartaigh said in Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?:
That's why I mentioned lowering the resolution! I will definitely try this - most likely for SNES only as that's still a little slow at times. I don't know what they're default settings is but I'm guessing it's greater than the 640x480 you told me to try.
on the pi zero/1 the default render resolution is set to 640x480 for all emulators (can be changed with the configuration editor).
Note if you have been updating from very old retropie images this may not be the case, since retroarch.cfg is generally never changed on updates (you are expected to merge in any new settings you need yourself from the
retroarch.cfg.rp-dist
file). -
@BuZz
good to know - one less setting I have to mess with! (this was made of the most recent image, then updated as soon as that was put on the SD card).He BuZz, do yo know why the default emulator for NES on the Zero is lr-fceumm (which has slow performance) over one like Quicknes? (I'm assuming Quicknes is more buggy in other areas besides performance)
-
@Dochartaigh quicknes was added later. lr-fceumm has been the default for a long time. People make a fuss when defaults are changed - it would need a good argument to change it (compatibility needs to be as good).
lr-fceumm was full speed on my pi1 last time i tried with a medium overclock.
-
@BuZz said in Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?:
@Dochartaigh quicknes was added later. lr-fceumm has been the default for a long time. People make a fuss when defaults are changed - it would need a good argument to change it (compatibility needs to be as good).
lr-fceumm was full speed on my pi1 last time i tried with a medium overclock.Now a third person telling me to overclock! lol.
Should I start another topic asking why overclocking would slow down my Pi Zero?
-
@BuZz said in Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?:
on the pi zero/1 the default render resolution is set to 640x480 for all emulators (can be changed with the configuration editor).
When I hold down a button immediately after launching a game (in this example, NES, on lr-fceumm) it says:
Video Mode: 1920x1080 @ 60Hz 16:9, clock 148MHz progressive
Is this the setting we're talking about? It's definitely not 640x480 (and I've never touched any of these settings before). I'm totally guessing here, but was that changed lately? Could that be why NES runs so slow when it seems to run at 100% for other people?
Should I go to "Select default video mode for lr-fceumm"? And change it to "CEA-1 640x480 @ 60Hz 4:3, clock 25mhz progressive", "DMT-4 640x480 @ 60Hz, clock 25mhz progressive", (then there's DMT-5 at 72Hz, or DMT-6 at 74Hz)? OR, are we talking about the "Select RetroArch render res for lr-fceumm"? setting?
...I would tell you what the runcommand menu told me for SNES and Sega Genesis....but I don't seem to be able to enter that menu anymore even after two reboots....yet another weird issue popping up for no darn reason!!! EDIT disabling it, then re-enabling runcommand fixed that issue...so friggin weird...EDIT 2 Enter the runcommand again, and I can't get back to it AGAIN!!! WTF??EDIT 3 ONLY way to get runcommand working is to disable it, reboot, re-enable it, then it'll work again.....for like 2 times...then is bricked again.....keyboard presses seem to be able to enter it like 7 times in a row....this can't be normal...
-
@Dochartaigh
Your video mode is just the Output, not the render resolution. You can have a native 1080p output, but selecting a lower render res will literally render the game in a low resolution and stretch/scale it to top and bottom. It's worth a try to lower the video mode and see if you get a performance boost, but I'm betting against it as the biggest impact is on how big the game is rendered.Apparently I was unaware the smaller Pi's are defaulted to 640x480, as with my Pi3, everything is rendered to the Output, so my video mode is 1080p, and the game is also rendered to 1080p.(I've since then changed this though, i seem to get input lag at such a high render resolution).
-
@Dochartaigh I'll tell you what I think. I think 4.1 for pi1/zero is buggy as hell. Did you try 4.0.2? Also, changing my video mode to CEA-4 (1280x720) and resolution to "output" worked the best for me as far as looking as it should and minimal lag, but I know maybe other settings may work better for you depending on your Tv. I saw another post on a different site that recommended these settings and it really made a big difference for me. @BuZz or any other administrators, is there any way you could check the newest version out (4.1) and see if there were any changes made from the previous version that could be causing these issues? I know it may be a pain, but it could potentially save a lot of needless posts from people with pi1s and zeros. I almost gave up on retropie altogether until I thought of downloading a previous version (4.0.2) and when I downloaded that version, everything started working perfectly. I've made multiple posts asking about this, but no one has looked into it yet. I'm not trying to be annoying or redundant, and maybe it's just an issue with my pi, but I don't see how everything could be running perfectly for me on 4.0.2 but buggy/laggy as hell on 4.1. And I would eventually like to have the latest version of retropie without it screwing everything up.
Also, I think it may have something to do with the video drivers. When I was on 4.1, VG was the only driver that would give me good performance and it would work great after I would switch to it in-game through rgui. But after closing the game, I would no longer be able to load games at all (it would crash) unless I switched back to one of the other video drivers. On 4.0.2, I can use any of the video drivers with good performance.
-
@Dochartaigh that is the video resolution - the render resolution is the resolution retroarch renders at, and using the default retroarch driver, dispmanx is used to upscale (at no performance loss). You can check the current render res in the configuration editor.
-
@actnash >I think 4.1 for pi1/zero is buggy as hell.
If you want my help, why would you make comments like this - bearing in mind the time I put into the project. No need to be so dramatic.
-
@BuZz Wasn't trying to be rude or dramatic, I am sorry it came off as that way. I really appreciate the hard work you guys put into this, and it's running really awesome for me on 4.0.2. This is all new to me and I'm sorry for being offensive, it wasn't my intention.
-
@BuZz Also didn't realize that the main retropie dude (you) would be helping out on the forum. I was thinking I was asking other people/contributors familiar with the program and didn't think what I said would offend. It's my own ignorance. I'm very thankful for all the hard work you've put into this. I'm actually cool with the previous version because everything is running perfectly for me on 4.0.2. So I totally understand if you don't have the time to look into it. Sorry for being a dick.
-
@actnash ok thanks for clarifying - no worries. I will check on my rpi1 with the current lr-fceumm when I get a chance.
-
@Dochartaigh that is the video resolution - the render resolution is the resolution retroarch renders at, and using the default retroarch driver, dispmanx is used to upscale (at no performance loss). You can check the current render res in the configuration editor.
I never use the built-in config editor actually (like to save the files themselves to my Mac's HD so I can copy them over quickly to another future build). Can you please tell me the path to a single emulator's config file? Is it /opt/retropie/configs/emulator_name or something like that? Or are the settings for ALL (of the NES's 3x emulators in this example) kept in 1 single consolidated file?
I'm asking because last night I made so many changes to lr-fceumm's settings, I wanted to reset everything and start fresh and couldn't figure out how to reset those runcommand settings back to the default settings (uninstalling and reinstalling lr-fceumm from binary didn't reset it). So I deleted the config.txt? file in the above directory thinking that would be rebuilt when I rebooted...but I was wrong. That actually removed the option to launch a NES games with another emulator/core, and I then had to reinstall from brinary the other cores to get those to show up in the runcommand settings....so I would love to know how to reset these properties, and which exact file I should be looking at to see these settings.
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.