Measure the baseline first
Open **Settings > Latency** and note the current values, then play a game you know well for two minutes. Run-ahead is judged by feel, so the before state has to be fresh.
Run-ahead renders extra frames and throws them away before display, removing most of the input lag of older consoles without changing the picture.
Enable **Run-Ahead** with **1 frame** and **Second Instance**, turn **Threaded Video** off and keep **Hard GPU Sync** on. One frame of run-ahead removes roughly one frame of input delay.
Open **Settings > Latency** and note the current values, then play a game you know well for two minutes. Run-ahead is judged by feel, so the before state has to be fresh.
Set **Run-Ahead to Reduce Latency** to On, **Number of Frames** to 1 and **Hide Run-Ahead Warning** to On. Start with a single frame.
Run-Ahead: On
Number of Frames: 1
Hide Warning: On
Turn **Use Second Instance** on. The core then runs a second copy for the extra frames instead of rewinding state, which avoids the corruption single-instance run-ahead can cause.
Use Second Instance: On
Turn **Threaded Video** off, enable **Hard GPU Sync**, and only enable VSync when the display refresh matches the core's rate - 60 Hz for a 60 fps core.
Threaded Video: Off
Hard GPU Sync: On
Audio Latency: 64
Raise **Number of Frames** to 2 and watch for audio crackle or dropped frames. If either appears, go back to 1 - a clean 1-frame setup beats a stuttering 2.
Open the Quick Menu, go to **Overrides** and choose **Save Core Overrides** so the latency settings stay with that core and not with every other system.
Quick Menu > Overrides > Save Core Overrides
Too many frames or a CPU-bound core. Return to 1 frame and disable shaders before trying again.
The core cannot run a second instance. Turn Second Instance off for that core, or disable run-ahead entirely.
Threaded Video is still on, or GPU sync is set to relaxed. Fix both, then restart RetroArch.
No. The extra frames are rendered and discarded, never shown.
Each frame multiplies CPU work and invites savestate bugs. One is the sweet spot for most cores.
Set **Run-Ahead to Reduce Latency** back to Off and delete the core override via Quick Menu > Overrides > Delete Core Overrides.
Free · no account needed · tracks your progress