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
- 01
Record package, core, authorized content checksum, Android device, video driver, output resolution, preset, and exact stutter point.
- 02
Disable shaders and latency extras, restart content, and record emulation speed, audio, and frame-time behavior through the same scene.
- 03
Apply one preset documented for the active video driver; restart and observe the first traversal without changing other settings.
- 04
Replay the same traversal in the same session and compare first-use pause with sustained speed and audio stability.
- 05
Cold-start again; if slowdown grows over minutes, inspect temperature and clocks rather than calling it compilation.
- 06
Keep the simplest passing preset, or disable shaders; preserve the before/after receipt without claiming unmeasured frame times.
Decision and diagnostic table
| Pattern | Likely boundary | Next action |
|---|---|---|
| First use pauses, repeat smooth | Shader compilation/cache | Keep preset fixed and retest cold |
| Every pass is slow | GPU/core workload | Reduce preset or resolution |
| Worsens over time | Thermal/power | Cool device and retest baseline |
| Black/corrupt output | Driver/format mismatch | Remove 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.
Use only games, firmware, artwork, music, and media you created, dumped lawfully, or received under permission covering your use. Emulator compatibility does not grant content rights; never use an unauthorized ROM, BIOS, CHD, media pack, or mirror.