Egghead.page Logo

How to Configure Video Latency Settings in RetroArch

This article provides a step-by-step guide to minimizing input lag by configuring video latency settings in RetroArch. It covers essential options such as VSync, hard GPU sync, and run-ahead features, ensuring you know exactly where to navigate within the menu to optimize performance for your specific hardware and core setup.

Accessing the Video Menu

To begin adjusting latency settings, launch RetroArch and navigate to the main menu. Select Settings from the left-hand sidebar, then scroll down to choose Video. This section contains the majority of options related to display timing and frame processing that directly impact input latency.

Managing VSync and Hard GPU Sync

Vertical Synchronization (VSync) is often the primary cause of input lag. Within the Video settings, locate VSync and try disabling it to reduce latency, though this may cause screen tearing. For a balanced approach, enable Hard GPU Sync. This option allows the CPU to run ahead of the GPU without waiting for the vertical blank, significantly reducing lag while maintaining synchronization. You may need to experiment with the Hard GPU Sync Frames setting, starting with a value of one.

Utilizing Run-Ahead Features

RetroArch offers a powerful feature called Run-Ahead to further decrease latency. Go to Settings > Latency to find these options. Enable Run-Ahead and select the number of frames to predict. This technique simulates future frames based on current input, effectively removing the inherent lag of emulation. Be aware that enabling second-instance run-ahead may require more CPU power, so monitor your performance metrics if you experience slowdowns.

Saving Your Configuration

Once you have adjusted the settings to your preference, it is crucial to save them. You can save these changes globally by selecting Configuration File > Save Current Configuration in the main menu. Alternatively, if you want specific latency settings for only one gaming system, load the core for that system and select Overrides > Save Core Overrides to apply the changes only to that specific emulator.