RetroArch Run-Ahead – Less input lag than real hardware!

8
11

The new Run-Ahead option in RetroArch 1.7.2 uses frame rollback and multiple-frame emulation to effectively “remove” latency, including latency that is inherent in the original hardware!

Super Mario Bros on the NES, for instance, has a single frame of latency, even on original hardware. This means that Mario begins his jump on the second frame drawn after the A button is pushed.

With “Run-Ahead” in RetroArch enabled and set to “1”, this single frame of latency can be erased, allowing Mario to jump on the very next frame!
This is performance BETTER than real hardware can offer!

This video was taken at 240fps on an iPhone, and slowed down further for demonstration purposes.
Easy for anyone to do, as long as you have a smartphone and a computer! No fancy wiring or lights required to test your own setup.
Just put the controller in front of your phone while taking a slow-mo video, and hit a button! Count slow-mo frames (use math to compare to 60fps at realtime) on a computer.

Full specs:
CPU: Intel Core 2 Duo P7450
Graphics: NVIDIA GeForce 9400M
OS: Ubuntu 18.04
Latest RetroArch Nightly (3/31/2018)

Display:
Random DisplayPort to VGA adapter
Extron VSC 500 (not required, but makes my VGA 240p signal look nicer)
VGA to circuit feeding CRT jungle chip
Sony Trinitron TV

Linux Settings:
Custom 1920x240p EDID via DisplayPort
RetroArch launched in KVM mode through basic command-line (not GUI)

Linux RetroArch settings:
VSync On
Maximum Swapchain Images: 2
Frame Delay: 8
Integer Scaling
No filters
Run-Ahead to Reduce Latency: On
Number of Frames to Run Ahead: 1
Runahead Use Second Instance: On

Input device:
Super Famicom controller
Dual SNES controller to USB adapter – V2, configured to 1ms of lag. Website specs say 2ms minimum, but hey, 1ms was an option in the controls, and Linux reports 1ms poll time…

8 COMMENTS

  1. Hi ! This is a major achievement !! BTW, in your experience, can you get the same level in responsiveness / lag with this very same setup but in Vulkan mode over X with 2 swapchain images ? It's pretty difficult to get RA to work properly in KVM or X-less Vulkan ATM on Nvidia. Cheers ! Edit : hmm, that's April fools' day…

  2. Hi ! Well, I did give it a try and I can say it does work properly in most cores, and that's probably placebo I think I feel games are more responsive — although I started RA from Vulkan/X which is probably not optimal. It was the daily build from last week and apparently something broke meanwhile (at least with the BSNES core) but I'll check again in a few days. It would be awesome if you could report back to the devs to help debug the issues with starting Retroarch from KMS/Nvidia (you have to start it manually — doesn't work from the menu). Cheers ! 🙂

  3. It´s just the same "trick" as used in crappy Smart-TVs.

    Replicating frames in hope it shortens your latency.

    Well of course it shortens your latency.

    But it also shortens a lot more xD It makes games simply more cinematic.

    Since EVERY frame is doubled.

    You cannot choose it only duplicates frames in situations where you have LOW framerate.

    No.

    You ALLWAYS duplicate frames.

    Which means: Well you don`t really play the original game anymore. Just that simple.

    You changed the game, since you change the gameplay.

LEAVE A REPLY

Please enter your comment!
Please enter your name here