Use RetroArch threaded video on Android only when full speed is otherwise impossible
Threaded video is a fallback for a video driver whose overhead prevents full speed, not a universal performance boost. First disable heavy shaders, run-ahead, and excessive core options, then test the same authorized scene with Threaded Video off and on. Keep it only if the device reaches usable speed and the frame-pacing, audio, touch, and controller trade-offs are acceptable; Libretro warns that smooth VSync is impossible and latency may rise.
Do this in order
- 01
Record Android, RetroArch, core, authorized content receipt, video driver, display refresh, shader, run-ahead, frame delay, audio latency, and thermal state.
- 02
Reproduce one stable scene with Threaded Video off and capture reported speed, frame time, audio behavior, input feel, and a verbose log.
- 03
Remove high-cost extras one at a time: disable the shader, reduce core enhancements, and turn off run-ahead or excessive frame delay before changing the video thread.
- 04
If the core still cannot approach full speed, enable Threaded Video alone, restart content, and repeat the identical scene and controls.
- 05
Reject the change if it creates uneven pacing, audio drift or crackle, touch instability, worse latency, or a black screen despite a higher average speed.
- 06
Save the setting at the narrowest supported scope and retain both logs; retest after a core, frontend, Android, or video-driver update.
Decision and diagnostic table
| Result | Meaning | Decision |
|---|---|---|
| Full speed only when threaded | Video-driver overhead mattered | Keep only if pacing and input pass |
| No change | CPU/core bottleneck likely | Turn threaded off; inspect core options |
| Faster but crackles or judders | Sync trade-off exposed | Prefer stable pacing or tune one layer |
| Slow after several minutes | Thermal or power boundary | Cool device and repeat baseline |
Average speed is not smooth delivery
A threaded renderer can reduce driver overhead while making frame delivery less regular. Compare pacing, sound, and input alongside the speed counter so a larger number does not hide a worse play path.
Remove expensive layers before adding a thread
Shaders, internal resolution, core overclocks, run-ahead, frame delay, recording, and thermal throttling can each consume headroom. A clean baseline identifies whether the video driver is actually the limiting layer.
Keep the test reversible
Change one setting, restart, and preserve a log. If the Android package hides the setting or the active driver ignores it, report that boundary instead of editing unrelated configuration or clearing app data.
Use only games, firmware, ROM, disk, artwork, audio, and other media you created, dumped lawfully, or received with permission covering your use. A valid hash, emulator option, or working controller never grants redistribution rights, and ArcadeShelf does not link to ROM or BIOS packs.