Performance
Retro game emulation is computationally intensive. This page covers the most common performance issues and what you can do.
"ROM too large to load"
The app sets largeHeap=true in its manifest to maximize available memory, but Android still caps how much RAM a single process can request. Symptoms:
- Game fails to launch with an "out of memory" or "ROM too large" error
- App crashes when you tap Play
Causes and fixes:
| Cause | Fix |
|---|---|
| ROM file is over ~500 MB | Use a more compact format (.chd instead of raw .bin+.cue; .cso instead of .iso for PSP) |
| Device has < 4 GB RAM | Stick to systems up to GBA / Genesis on this device |
| Other apps holding memory | Close background apps, restart phone |
| Many large ROMs in storage | Free space using Storage Management |
Lag or stutter during gameplay
What this usually means:
- CPU is the bottleneck — most emulators are single-thread-bound for CPU emulation. Phones with strong single-core perf (recent flagships, especially) handle PSX/N64/PSP/NDS/3DS well. Older mid-range phones struggle with PSX onward.
- GPU is the bottleneck — rare except for 3DS (Citra/Azahar), PSP (PPSSPP at high internal resolution), N64 (Mupen64Plus).
Fixes to try:
| Knob | Effect |
|---|---|
| Frame skip (in core options) | Skip every Nth frame to keep audio smooth |
| Lower internal resolution (PSP, 3DS) | Halve resolution for big speed gain |
| Switch CPU mode to JIT | Some cores (N64, PSP) have JIT for major speedup |
| Switch CPU mode to Interpreter | Lower speed but better accuracy (rare cause of slowdown) |
Disable shader filter (set to sharp) | CRT shader has GPU cost |
| Reduce audio sample rate | Some cores expose audio options |
Most knobs live in the In-Game Menu → Settings.
Audio crackling / popping
Crackling means the audio buffer is underrunning — usually because of frame drops. Try:
- Set frame skip to auto (in core options).
- Lower internal resolution.
- Plug in headphones — Bluetooth audio adds latency that some cores struggle to absorb.
Device gets hot
Emulation is heavy on the CPU/GPU, which makes the phone hot. To reduce heat:
- Lower internal resolution (PSP, 3DS, N64)
- Disable expensive shaders (set to
sharp) - Take breaks (passive cooling is huge)
- Plug in a phone fan / external cooler for long sessions
- Note that hot phones throttle CPU clocks — sustained heat causes the slowdown, then more slowdown
Battery drains fast
Same reason. Tips:
- Lower screen brightness
- Use system battery-saver during long sessions
- Avoid the most expensive cores (Citra/Azahar, PPSSPP at high res, Dolphin) when battery matters
- Keep a power bank for longer trips
Choosing a different core for performance
For systems with multiple cores, pick the lighter one:
| System | Lighter | Heavier (more accurate) |
|---|---|---|
| NES | Nestopia | FCEUmm |
| PSX | PCSXReARMed | Beetle PSX HW |
| NDS | DeSmuME | MelonDS |
| 3DS | Citra | Azahar |
| MAME | MAME 2003 Plus | MAME (modern) |
Set per-game from Game Detail → Core dropdown.
Recommended setups by performance tier
Budget Android (Snapdragon 6xx / Helio G): NES, SNES, Game Boy family, Mega Drive / Genesis, MAME 2003
Mid-range (Snapdragon 7xx / Dimensity 8xx): + GBA, PSX, N64, Saturn (with care), Arcade (Neo Geo)
Flagship (Snapdragon 8xx / Apple A-equivalents): All of the above + PSP, NDS, 3DS
Related
- Storage Management
- Supported Consoles — core options
- In-Game Menu — performance knobs