Any recommendations for performance tweaks for Pi Zero (for NES and SNES)?
-
@Dochartaigh You can also try PiSNES for SNES, but let me tell you, the controls aren't mapped properly and if you aren't really familiar with how to set up the configs, it may be a hassle.
Here's another thing it could be. When I downloaded retropie 4.1 for zero/pi1, I had horrible lag issues and screen stuttering no matter what I did. That's actually the whole reason I got on this forum, but no one is really paying my post much attention! Ha
This is how I got my pi1 b+ (which should be under the pi zero in performance) running nes and most SNES/Genesis games at full speed.
-
Delete retropie version 4.1 and download and install retropie 4.0.2 for zero/pi1
-
Download quicknes and pocketsnes from optional packages (there should be one called pocketsnes as opposed to snes9x2002. Not sure if it's any different, that's just how it shows up on my pi)
-
When entering a game for the first time, press "a" on your keyboard and along with changing the core, mess around with the resolution. For me, changing video mode to CEA-4 (1280x720) and render res to output, made a HUGE difference in performance.
-
Overclock your pi to turbo. I've been reading that as long as you do this under raspi config and don't force anything, it won't void your warranty. Also, if things start getting hot, I think it automatically starts slowing things down to protect the pi (mine hasn't gotten too hot in turbo yet). I read where it shouldn't affect life of the pi too much either, maybe it will last 19 years instead of 20 years. It's worth it if you want the best performance.
-
Go into RGUI.
For NES-
Go to settings
-video
-change max swapchain images to 1
-Set frame delay to 10
- leave threaded video on and vsync on
- For SNES and Genesis-
Same as above, but frame delay on around 2 instead of 10.
The higher the frame delay=less input lag. But once you get too high, you will start seeing stuttering. You may be able to go higher with frame delay on your zero.
Your shit should be banging now. It will be a pain to wipe and reinstall retropie 4.0.2, but for me, it made all the difference in the world. Let me know if this works? I would like to update to the most recent version of retropie one day, but I want to make sure this bug gets fixed first.
-
-
@columboscoat ha, I'm still waiting for someone to check out the issues I was having with 4.2. Either no one knows what is going on or no one is interested. Thought that I may save some others the hrs I have wasted trying to get my settings right while I wait!
-
@Dochartaigh I just went to check, and pocketsnes is actually under main packages, not optional. I didn't see snes9x2002 listed, so it's possible it's just the same as pocketsnes like you said! Before I downgraded to 4.0.2, SNES barely ran even on pocketsnes. Now it runs great (except some of the sound effects suck - a known issue) on most games, even runs Yoshi's island pretty solid with occasional hiccups.
-
Pocketnes vs snes0x2002 might be the subtle differences between 4.0 and the most recent version of Retropie, and/or the difference between the Pi Zero and Pi 1 (I know my Pi 3 has slightly different options than the Zero does).
Anyway, I'm happy with NES being a lot better. Sega Genesis/Megadrive with Picodrive was always pretty good.All that leaves is SNES, which I honestly don't play much. I usually test with Donkey Kong country as I know that was one of the more demanding games, and that seems to play decently.
Thanks for your help - I may mess around with the resolution settings as lower resolution should improve performance (and the original resolution for these systems was below 480i...so there's room between that and the 1080P the HDMI connection is capable of ;)
-
@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.
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.