Android RetroArch performance troubleshooting / 2026-08-07

Diagnose RetroArch shader compilation stutter on Android

Separate first-use shader compilation from sustained emulation slowdown, thermal throttling, and an incompatible video driver.

9 minute stutter diagnosisRetroArch 1.22.2 on Android; shader formats and caching depend on video driver, GPU, and package

Diagnose RetroArch shader compilation stutter on Android

Establish a no-shader baseline, then apply one supported preset and replay the same scene twice after a cold start. A pause only on first use points toward shader compilation; repeated low speed points toward GPU/CPU load, driver compatibility, or heat. Keep the core, content, resolution, driver, and preset fixed while measuring, and remove the shader before changing latency options.

Do this in order

  1. 01

    Record package, core, authorized content checksum, Android device, video driver, output resolution, preset, and exact stutter point.

  2. 02

    Disable shaders and latency extras, restart content, and record emulation speed, audio, and frame-time behavior through the same scene.

  3. 03

    Apply one preset documented for the active video driver; restart and observe the first traversal without changing other settings.

  4. 04

    Replay the same traversal in the same session and compare first-use pause with sustained speed and audio stability.

  5. 05

    Cold-start again; if slowdown grows over minutes, inspect temperature and clocks rather than calling it compilation.

  6. 06

    Keep the simplest passing preset, or disable shaders; preserve the before/after receipt without claiming unmeasured frame times.

Decision and diagnostic table

PatternLikely boundaryNext action
First use pauses, repeat smoothShader compilation/cacheKeep preset fixed and retest cold
Every pass is slowGPU/core workloadReduce preset or resolution
Worsens over timeThermal/powerCool device and retest baseline
Black/corrupt outputDriver/format mismatchRemove preset and verify driver support

A warm second pass is evidence

Compilation is usually front-loaded, while an expensive shader keeps consuming resources. Comparing the identical scene twice is more informative than changing several performance switches.

Audio reveals sustained speed loss

Crackling together with emulation speed below target suggests missed real-time deadlines, not merely a one-time visual compile pause.

Caches are implementation details

Do not invent a cache path or delete app data. Drivers and packages may manage compiled shaders differently; use reversible preset changes and logs first.

First-party sources

Related guides