Pi Zero Lagging with GBA emulation
-
@luisito which emulator are you using?
-
@quicksilver I am using lr-gpsp but after your comment i tried with lr-mgba and it doesn’t fix anything. 🥺
-
Also, I unzipped all my ROMs. I heard that lr-gpsp has trouble with ZIPs. But either way unzipped diles read faster.
-
@luisito lr-gpsp is less demanding so stick with that one. From what I understand the zero can't handle all GBA games, something like only 60% of the game library plays full speed. Have you thought about getting a pi 3? GBA runs beautifully on my pi 3.
-
@quicksilver I have been thinking about a full size pi, but other posts expect the pi 4 image until xmas at best. So I don’t know if I should buy a pi 3. 🧐
Does resolution affect overall performance? I am trying to display it on my computer monitor full HD at 27 inches. Will it run better or faster in those mini 3.5 inch displays?
I plugged in my USB to dump some ROMs, and the frame rate went to 5fps and it froze for a solid minute. I am disliking the zero a lot.
-
Maybe disable video threading?
settings >> video >> videothreading = off
settings >> drivers >> video = glcore/gl (if available)
settings >> latency >> gpu stuff = off
settings >> framethrottle >> rewind/gsync = offInitialize with runcommand, to set resolution = CEA 1-4
1ghz should be enough for gba I think???
how about reading from commandline, background processes, I guess you can do that with
top
,htop
-
@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.
-
@dankcushions said in Pi Zero Lagging with GBA emulation:
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 😁 -
@luisito
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.
network~\configs\all\retroarch.cfg
/opt/retropie/configs/all/retroarch.cfgWere you able to try
htop
from 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 = offand
settings >> user interface >> threaded tasks = off (Haven't had to use this before.)
settings >> user interface >> appearance >> icon shadows = off -
@Efriim said in Pi Zero Lagging with GBA emulation:
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.
-
@dankcushions said in Pi Zero Lagging with GBA emulation:
no, this will give you retroarch defaults which are not retropie defaults, and will give you a whole new set of problems.
I was unaware of this. This is a revelation.
-
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.
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.