guide · static export
Emulation

Cut Emulator Input Lag in RetroArch With Run-Ahead

Run-ahead renders extra frames and throws them away before display, removing most of the input lag of older consoles without changing the picture.

by@guidox updated:10/30/26 time:15 min level:Advanced tested on:Windows 11 24H2, RetroArch 1.19 works on:Windows 10, Windows 11, RetroArch 1.19+ tools:RetroArch
TL;DR

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.

Before you start

Requirements

  • RetroArch 1.19 or newer from https://www.retroarch.com/
  • A core that supports savestates - most do
  • CPU headroom: run-ahead multiplies the per-frame work
Step by step

Instructions

01

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.

02

Enable run-ahead

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
03

Use the second instance

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
⚠ warningHeavy cores (Saturn, N64, PSX) may not hold full speed with run-ahead. Drop to 1 frame or turn it off for those.
04

Remove the cheap latency sources

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
tipAudio latency around 64 frames is a good compromise between crackle and delay.
05

Only go to two frames with proof

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.

06

Save it per core

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
Troubleshooting

Common issues

Audio crackles after enabling

Too many frames or a CPU-bound core. Return to 1 frame and disable shaders before trying again.

Loading a savestate freezes the game

The core cannot run a second instance. Turn Second Instance off for that core, or disable run-ahead entirely.

Stutter instead of a latency win

Threaded Video is still on, or GPU sync is set to relaxed. Fix both, then restart RetroArch.

FAQ

Frequently asked

Does run-ahead change the image?

No. The extra frames are rendered and discarded, never shown.

Why not five frames?

Each frame multiplies CPU work and invites savestate bugs. One is the sweet spot for most cores.

How to undo this

Set **Run-Ahead to Reduce Latency** back to Off and delete the core override via Quick Menu > Overrides > Delete Core Overrides.

Changelog · 1 entry
  1. 2026-10-30
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress