v2026.11 DB LIVEVerified Frame-Time & Emulator Config Recipes for PS2, GameCube, Switch, PSP & iOS Delta
60
RetroFPSHandheld Matrix
Test FPS
🧭 Matchmaker📦 PortMaster📐 16:9 Hacks🕹️ Systems🔋 Battery⚡ Input Lag📺 Shaders🎮 Frontends📱 Handhelds (22)💿 Games (50)⚔️ Versus⚡ Turnip Drivers📦 ROM Compress📐 Screens🛠️ CFW🧠 Chipsets💾 SD Calc
⚡ ZERO-LATENCY RETRO GAMING TELEMETRY

Input Lag & Display Latency Master Guide

Ever wonder why jumps in Super Mario World or parries in Street Fighter feel slightly "floaty" on your handheld? Learn how Android double buffering, display pixel response times, and controller polling rates affect your gameplay—and how to fix it with Run-Ahead.

Real Input Latency Tiers (From Button Press to Pixel Shift)

Measured using high-speed 1,000 FPS cameras and LED photodiode testers:

Original Hardware on CRT (Gold Standard)Instant / Telepathic
16 ms (1.0 Frame)

Analog cathode ray tube drawing raster scanlines line-by-line with zero digital frame buffering.

Linux Handheld + RetroArch Run-Ahead 1 FrameFaster Than Real Hardware!
14 - 18 ms (0.9 - 1.1 Frames)

Miyoo Mini Plus (OnionOS) or Anbernic RG35XX SP (muOS) with 1 frame of Run-Ahead strips out inherent game engine polling delay.

Android Handheld (Retroid / Odin 2) + Standard VulkanCrisp / Highly Playable
32 - 45 ms (2.0 - 2.8 Frames)

Android SurfaceFlinger compositor adds ~1 frame of double buffering, mitigated by fast 120Hz touch sampling and low-latency drivers.

Bluetooth Controller to Smartphone / Cheap TVFloaty / Noticeable Lag
75 - 110 ms (4.5 - 6.8 Frames)

Bluetooth 125Hz polling + TV image processing smoothing filters create unbearable delay in tight platformers like Super Mario World.

Interactive Latency Estimator

Calculate your total glass-to-glass input delay based on your hardware setup.

Hardware Simulator
Total End-to-End Latency
18.5 ms (~1.1 Frames)
Perceptually identical to original hardware on a CRT TV!
OS Compositor: 8.0 ms
Display Refresh & Scan: 16.6 ms
Run-Ahead Savings: -16.6 ms

How to Enable Run-Ahead in RetroArch (Step-by-Step)

Works on GBA, SNES, Genesis, NES, and PS1 cores:

01

Open Latency Settings

In RetroArch, go to Settings > Latency. Toggle "Run-Ahead to Reduce Latency" to ON.

02

Set Number of Frames

Set "Number of Frames to Run-Ahead" to 1. Setting it to 1 is 100% safe for 99% of retro games without frame skipping.

03

Enable Second Instance

Check "Run-Ahead Use Second Instance". This prevents audio crackles by running the forward frames in a silent background thread.

Frequently Asked Questions

Q: What is RetroArch Run-Ahead and how does it eliminate input lag?

Run-Ahead is a revolutionary emulation feature. Real retro games (like Super Mario Bros. or Mega Man) inherently had 1 or 2 frames of internal CPU delay built into their game loop before Mario actually jumped. Run-Ahead runs the emulator 1 or 2 frames ahead invisibly in memory, then rewinds if no button was pressed. This allows modern handhelds to respond faster than a real SNES on a CRT TV!

Q: Why does Android have more input lag than Linux (OnionOS / muOS)?

Android is a full smartphone operating system with a window compositor called SurfaceFlinger. To prevent screen tearing, Android forces triple buffering. Lightweight Linux OSes like muOS or OnionOS render directly to the Linux framebuffer (/dev/fb0 or DRM/KMS), bypassing compositor queues entirely.

Q: Do Bluetooth wireless controllers add lag compared to USB-C?

Yes. Most Bluetooth controllers poll at 125Hz (8ms per packet) and suffer from RF interference. Direct USB-C wired controllers (or Hall-Effect built-in handheld controls) poll at 500Hz to 1,000Hz (1ms), cutting input latency by 7ms to 12ms.

Q: Does an OLED screen reduce input latency compared to IPS?

Yes! While display refresh rate determines frame intervals, pixel response time (the time for a pixel to change from grey to grey) is 0.1ms on OLED panels (Retroid Pocket 5, Odin 2 Portal, Steam Deck OLED) versus 8ms to 16ms on budget IPS screens. This eliminates ghosting and makes fast twitch movements feel sharper.