Pi Zero Lagging with GBA emulation
@luisito retropie defaults to 640x480 for libretro emulators on pi 0/1, so resolution should not be an issue. also, the physical size of the screen is not a factor, since you can typically run low resolutions on large displays no problem.
@Efriim I have changed all the setting with the exception of runcommand because I can't figure out where it is (I tried the runcommand option from RetroPie but it doesn't show as option in the submenus).
With your proposed changes now I have managed to reach steady 32.7 FP, with the casual drop to 30 FPS.
However, the main RetroPie menu sometimes drop to 12 FPS.
If I access RetroArch within the game it pumps it to 60 FPS, but that is because the emulation gets paused.
Zero still hoovers at a steady 42C at max temperature and 37C when idle.
It definitely help by a lot, so thanks!! :D
Still looks funny and feels slow but now it is playable.
However, I still don't understand why the FPS are so low. A lot of people manage 60 FPS without a sweat with GBA games.
And now, I am not sure what I did, changed or broke, but it seems that Hotkey (Select) + Right Shoulder, doesn't save state anymore.
for libretro emulators on pi 0/1, so resolution should not be an issue. also, the physical size of the screen is not a factor, since you can typically run low resolutions on large displays no problem.
Thanks! I was under the impression that the GPU would have to squish more out for larger screens to achieve the desired scale.
@luisito i think it sounds to me like you've changed some settings in your tweaking, or perhaps weren't running from stock retropie in the first place. i would personally start from a fresh retropie standard image, no overclocking, and then see what it's like from there. once you've changed settings it's almost impossible to diagnose
@dankcushions Sure, I will do that.
There is a new image right?
I will report after doing all that. Perhaps during the weekend if time allows 😁
Efriim last edited by Efriim
Or you could upload your settings and I can run a diff on them to highlight all the changes.
Or delete the settings which should give you a new one, provided the overrides are also deleted.
Were you able to try
htopfrom ssh commandline?
upload large text files to pastebin.com
I will edit the post above about runcommand.
Since you got positive results if it wasn't just a fluke, you could try disabling a few more things
settings >> drivers >> audio = alsathread
settings >> video >> vertical sync = off
settings >> video >> frame delay = 0 (alternative to turning the vsync off, maybe try a quick compare of value 7 and 15 just to see, then turn off vsync)
settings >> latency >> run-ahead = off
settings >> user interface >> threaded tasks = off (Haven't had to use this before.)
settings >> user interface >> appearance >> icon shadows = off
Or delete the settings which should give you a new one, provided the overrides are also deleted
no, this will give you retroarch defaults which are not retropie defaults, and will give you a whole new set of problems.
i really wouldn't recommend changing any of the settings you are recommending. retropie will default to the right settings for all of these.
Thanks a lot! everybody. Things are improving so I think we are on the right track and your help is moving things forward.
Have a lot of responsibilities for the next 4 days.So I will post again next week.
But for the meantime I ran a very quick thop and hop, and the system is 97%m idle, nothing in the background eating power. Even the ram sits at 10% of maximum.
Solid One last edited by
Try gpsp's non-retroarch version. With this version, you'll probably have less lag on GBA games, since it consumes less resources than the default retroarch version.
I've tested this version on a Raspberry Pi 1 B+, and I remember playing some GBA games without lag. It was on 2015, and back then, if my memory serves, there was no lr-gpsp yet.
I don't know if it'll work on your Pi Zero, but assuming Pi Zero and Pi 1 has approximately the same hardware, there's the chance that it can work.