Skip to main content

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:

CauseFix
ROM file is over ~500 MBUse a more compact format (.chd instead of raw .bin+.cue; .cso instead of .iso for PSP)
Device has < 4 GB RAMStick to systems up to GBA / Genesis on this device
Other apps holding memoryClose background apps, restart phone
Many large ROMs in storageFree 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:

KnobEffect
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 JITSome cores (N64, PSP) have JIT for major speedup
Switch CPU mode to InterpreterLower speed but better accuracy (rare cause of slowdown)
Disable shader filter (set to sharp)CRT shader has GPU cost
Reduce audio sample rateSome cores expose audio options

Most knobs live in the In-Game MenuSettings.

Audio crackling / popping

Crackling means the audio buffer is underrunning — usually because of frame drops. Try:

  1. Set frame skip to auto (in core options).
  2. Lower internal resolution.
  3. 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:

SystemLighterHeavier (more accurate)
NESNestopiaFCEUmm
PSXPCSXReARMedBeetle PSX HW
NDSDeSmuMEMelonDS
3DSCitraAzahar
MAMEMAME 2003 PlusMAME (modern)

Set per-game from Game Detail → Core dropdown.

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