The run-ahead feature enables some emulated video games to have lower controller latency than the actual hardware they were meant to run on.

This feature calculates a given number of frames in the background as fast as possible, in order to “rollback” the action as close as possible to the input command requested. If your hardware is powerful enough, you can run a second instance of the emulator to accelerate the process (beware, that also means more CPU consumed).

Here is a short video that compares a real NES console to an emulation with run-ahead (1 frame)

Configuration is through Games Settings > Latency Reduction:

  • Use Run-Ahead Frames How many frames you want to calculate in advance, from Auto (=0) to 6. Best results are with 2 to 3 frames
  • Run-Ahead Use Second Instance: Do you want to launch a second instance of the emulator to accelerate the run-ahead calculation. Yet, this option will take more CPU and RAM resources.

Limitations: This feature is available only for libretro-powered emulators on Batocera, and is quite CPU intensive. It should work fine with most boards that are RPi3 or better for 8-bit and 16-bit generations though.

  • run-ahead.txt
  • Last modified: 8 weeks ago
  • by atari