"My Boy!" has better performance?

Hello,

I installed the GBA emulator “My Boy!” and RetroArch with mGBA Core.

With RetroArch I get many slowdowns and audio crackling. But “My Boy!” runs pretty good…

I turned already “Sync refreshrate to screen” off and reduced the “Forced refreshrate (Hz)”. Are there maybe more settings to assimilate the performance from “My Boy!”? I would prefer to use RetroArch :slight_smile:

Best regards Shabba

Edit / Update: Perhaps it’s the default frameskip of 2, which gives “My Boy!” the slight performance advantage?

My Boy! is apparently more closely comparable to gpSP, while mGBA is the most accurate GBA emulator around currently.

But yeah, RetroArch doesn’t support frameskip, so that could have an effect.

1 Like

I found mGBA supports frameskip: “-s, --frameskip N Skip every N frames”.

Is it possible to add this option to the Core?

possibly. You could open an issue on the mgba-libretro github repo and we’ll look into it.

1 Like

Thank you, I created an issue:

1 Like

What type of audio crackling do you get?

If you have rewind enabled,that has a big impact on any of the accuracy focused cores and in general. Also,using granularity of 2 is less of an intense impact since even N64 runs decent with it but its unreliable about displaying the frames on rewind.

As for the audio crackling,try other tweaking settings like audio sync or audio modes then try increasing audio latency if other modes don’t help. Vsync may also affect audio as well. There’s multiple sync settings to check out if any unique setup could fix your problems.

1 Like

I think the speed difference has to do with a dynarec, My Boy! uses one, but I don’t think it was ever finished in mgba:

Even so, mgba runs full speed on both my Galaxy S3 and Asus cn60 Chromebox running Android x86_64. I do get audio pops on both when using mgba. It seems like a bug but I haven’t had the time to hunt it down.

I found RA doesn’t use the full power of my device when emulating a l game,but standalones does.So i need to set my cpu to a certain ghz to make games run smoothly when use RA.Guess that’s why myboy ‘faster’ than the libretro gba cores.

Yeah. Noticed that too. If i set my mobile phone Cpu to a higher minimum than default (1.7 ghz instead of 300) or put it in performane governor (which keeps the Cpu to the highest clock), RA runs perfectly smooth. If i let it choose between available frequencies (300 - 2.4 ghz), it gives horrible performance.

This is true for basically all other emus (ppsspp, mame4droid, reicast).

1 Like

That’s device specific behavior; when your running off a battery, the OS wants to throttle the CPU to keep the battery from draining too fast. I don’t see an easy way around this ATM apart from switching to a governor that favors performance. I’d imagine stuff like this makes the Android port a nightmare to support, especially given that every device is different.

Edit: this probably has to do with heat as well, mobile devices generally use passive cooling and don’t use heat sinks, so thermal throttling would be required to keep it from overheating.

1 Like