top of page
Search

How to Reduce Input Lag in Arcade Emulators

Nov 3
8 min read

Last Updated: November 4, 2026

Quick Summary

To reduce input lag in arcade emulators, isolate each layer with a frame advance test: switch your display to game mode, use a wired controller, lower the frame buffer one step at a time, and try a different emulator core. Measure after every single change against your baseline frame count.

  • At 60Hz, one frame equals about 16.7 milliseconds of latency.

  • Switching from Bluetooth to wired USB commonly drops one to two frames.

  • MAME's default frame buffer is often 3; dropping to 2 or 1 reduces latency.

  • Start run-ahead at one frame, since higher values can introduce artifacts.

  • USB hubs, long cable runs, and front-panel ports can add their own delay.

Table of Contents

Why Arcade Emulators Add Input Lag

Input lag is the delay between pressing a button and seeing the result on screen. In arcade emulators, that delay stacks up from four separate layers, and most guides only address one of them. This guide walks through every layer so you can find where your lag actually comes from.

The short version: your controller reports a press, the emulator processes it, the game logic runs a frame, and the display shows it. Each step costs time. Add them together and a game that should feel instant feels mushy.

The Four Sources of Latency in a Home Arcade Setup

Input lag in arcade emulation comes from four places: the controller and its connection, the emulator's input processing and frame buffer, the game core's timing, and the display's own response.

Here is how each one behaves:

  • Controller and connection: wired versus wireless, and how often the controller reports its state

  • Emulator software: frame buffer size, frame delay, and how input is polled

  • Game core: internal timing and frame pacing quirks

  • Display: panel response time, refresh rate, and V-Sync

A common mistake is buying a new controller when the real culprit is a three-frame buffer. Test before you spend.

A Diagnostic Sequence for Isolating Input Lag

Most guides list fixes; this section gives you a repeatable process to find which layer is actually costing you frames. The sequence isolates display, emulator, controller, and game core in that order, because changing two variables at once tells you nothing.

Diagnostic flowchart for testing input lag using arcade controllers and emulator software settings

Step 1: Establish a baseline with frame advance. Do not rely on feel. Enable frame advance in your emulator (MAME and RetroArch both support it), pause, press a button, and step forward one frame at a time until the sprite reacts. Count the frames. Repeat three times and average. Write that number down. Every change you make gets measured against it.

Step 2: Test the display. Switch your TV or monitor to game mode and disable any motion smoothing or noise reduction. Re-run the frame advance test. If the count drops by two or more frames, your display processing was a major contributor. Panel response time and refresh rate set a floor that no emulator setting can cross.

Step 3: Test the controller connection. Swap wireless for wired, and plug directly into the machine rather than through a hub. Re-measure. A drop of one to two frames is common when moving from Bluetooth to wired USB. If you are using a controller with configurable polling rate, raise it through companion software and test again.

Step 4: Test emulator buffering. Reduce the frame buffer by one step (in MAME, this is the frame buffer setting; in RetroArch, max swapchain images). Re-measure after each step. Stop when you hit audio crackle or stutter, then step back one.

Step 5: Test the core. Try a different emulator core for the same game. Timing differences between cores are real, especially for arcade systems with unusual refresh rates. If one core measures two frames faster, that is your new baseline.

USB hubs, long cable runs, and front-panel ports can add their own delay.

Frame-by-Frame Testing with Frame Advance

Frame advance is a useful test because it removes human reaction time from the equation. Here is the protocol:

  1. Pause the emulator and enable frame advance

  2. Press your attack button and step forward one frame at a time

  3. Count the frames until the sprite reacts

  4. Repeat three times and average the count

That average is your baseline latency in frames. At 60Hz, one frame is about 16.7 milliseconds. Write your number down and compare every change against it.

If you want a second opinion, record your screen at 60fps or higher with a phone or capture card and step through the footage. The frame count should match your frame advance result. This cross-check catches measurement errors before you chase the wrong layer.

The sequence isolates one layer at a time, so here is each step and what it tests.

Step

What to do

What it tests

1

Frame advance test, repeat three times and average

Baseline latency

2

Switch display to game mode, disable motion smoothing

Display processing

3

Swap wireless for wired, plug in directly

Controller connection

4

Reduce frame buffer by one step, re-measure

Emulator buffering

5

Try a different emulator core for the same game

Game core timing

Arcade Emulator Controller Latency: Wired, Wireless and Polling

Wired connections generally offer lower latency than wireless ones. If you are chasing the last few frames, a wired connection is worth testing.

Retro Crisis

Polling rate matters too. A controller that reports its state more often gives the emulator fresher data. Many modern pads and sticks let you raise the polling rate through companion software.

  • Wired connection: lowest and most consistent latency

  • 2.4GHz wireless: close to wired, but sensitive to interference

  • Bluetooth: convenient, but the most variable of the three

  • Polling rate: higher is better, if your controller supports it

One insider note: USB hubs and long cable runs can add their own delay. Plug directly into the machine where you can.

MAME Input Lag Reduction: Core Settings That Matter

MAME input lag reduction starts with three settings: frame buffer, frame delay, and the wait-for-vsync option. Lowering the frame buffer is often a large win in many setups, but arcade-specific timing makes the tuning different from console emulators.

Here is what each one does and how to tune it:

  • Frame buffer: how many frames the emulator holds before drawing. The default is often 3; dropping to 2 or 1 reduces latency but can cause stutter on slower machines. Change one step at a time and re-measure with frame advance.

  • Frame delay: shifts when input is read relative to the frame. Small increments (1-3) help; larger values cause audio glitches and dropped inputs. Start at 1 and raise only if your measurements improve.

  • Wait for vsync: keeps tearing down but adds delay. Disable it if you can tolerate tearing, or pair it with a variable refresh rate display if your hardware supports one.

Arcade systems add a wrinkle: many original boards ran at refresh rates that do not match modern displays. A game designed for 59.6Hz or 57Hz will not sync cleanly to a 60Hz panel, and MAME may insert extra frames to compensate. Check the game's native refresh rate in MAME's information screen and enable -syncrefresh only if your display supports the exact rate. Otherwise, let MAME run at its native timing and accept minor tearing rather than adding buffer frames.

Adjust one setting at a time. Write down the frame count after each change.

Watch out: pushing frame delay too far causes audio crackle and dropped inputs. If sound breaks up, you have gone past the limit. Drop back one step and solve the remaining lag elsewhere.

For a deeper look at how MAME handles timing, the MAME documentation covers the frame buffer and synchronization options in detail.

RetroArch Input Latency Settings and Frame Delay

RetroArch input latency settings work differently from MAME, and that trips people up. RetroArch uses a global latency framework with per-core overrides, so you can tune each system separately.

The settings worth knowing:

  • Polling behavior: controls when input is sampled

  • Frame delay: same idea as MAME, applied per core

  • Max swapchain images: fewer images means less buffering

  • Hard GPU sync: tighter sync at the cost of some compatibility

Start with frame delay at a low value and raise it in small steps. Test with frame advance after each change. If a core misbehaves, drop back one step rather than fighting it.

Emulator Run-Ahead Settings: What They Fix and What They Break

Emulator run-ahead settings hide latency by running extra frames ahead of the visible one (Run Ahead). The emulator simulates future frames in the background, then shows you the frame that matches your input. Done well, it feels like the lag vanished.

Done badly, it breaks things. Here is the honest tradeoff:

  • What it fixes: perceived input delay, especially on slower displays

  • What it breaks: games with precise audio sync, some save states, and cores that do not tolerate rewind logic

  • Cost: extra CPU load, which matters on lower-powered cabinets

Start with one frame of run-ahead, and be aware that higher values can introduce artifacts in some games. If a game starts glitching, drop to zero and solve the problem elsewhere.

Display and V-Sync: The Lag You Cannot Patch Out

No emulator setting can fix a slow display. Panel response time and refresh rate set a floor on your latency that software cannot cross. If your TV adds a game mode, use it.

V-Sync is the other culprit. It prevents screen tearing by waiting for the display to refresh, which adds delay. You get a clean image and slower response. Turn it off if tearing does not bother you.

For cabinet builders, the display choice can matter as much as the emulator.

Build Your Baseline: Test Your Light Gun Setup

Before you tune anything, measure what you have.

Run the frame advance test with your controller in hand. Note the count. Then change one variable: cable, port, or emulator setting. Measure again.

For a deeper look at how emulator timing works, the MAME documentation and RetroArch docs are good places to start.

Frequently Asked Questions

Do arcade emulators add input lag compared to original hardware?

Yes, arcade emulators add some input lag, but the amount depends on your settings. The main contributors are video buffering, frame queues, V-Sync, and controller processing. With the right configuration, including reduced buffering, frame delay, and run-ahead where compatible, you can bring emulator input lag close to original hardware levels. The key is testing each change with frame-by-frame methods rather than guessing.

Does enabling V-Sync increase input lag in emulators?

V-Sync does increase input lag because it forces the emulator to wait for the display's refresh cycle before showing a frame. That synchronization prevents screen tearing but adds delay. If you notice sluggish response, try disabling V-Sync and see if the trade-off is acceptable. On some displays, using a higher refresh rate or a variable refresh rate monitor can reduce the penalty while keeping the image clean.

Which emulator settings can reduce input latency the most?

The biggest gains usually come from reducing video buffering to the minimum, enabling frame delay, and using run-ahead if your emulator core supports it. In RetroArch, the input latency settings let you tune frame delay and run-ahead frames. In MAME, lowering the frame queue and disabling unnecessary synchronization helps. Controller choice matters too: a wired controller or arcade stick with high polling rates cuts wireless latency.

Can a TV or monitor cause input lag with an arcade emulator?

Yes, your display can be a major source of input lag. TVs often have a game mode that reduces processing, while monitors generally have lower latency. Check your display's response time and enable game mode if available. Refresh rate also matters: a 240Hz monitor can reduce input lag compared to a 60Hz panel when the emulator and game can output frames fast enough. Test with a wired controller to isolate display lag from controller lag.

Your light gun should feel as sharp as it looks. At Tcarterdesigns, we build custom mods for Retro Shooter hardware, including shotgun and pulse rifle styles, with easy-to-install kits that keep your electronics intact. Get started with Tcarterdesigns and turn your setup into the centerpiece of the room.

 
 
 

Comments


bottom of page