For the last couple of years, Brunnis at libretro has been looking into input lag in Retroarch and ways to minimize it. His findings have actually encouraged emulator authors to improve their cores for reduced lag under certain settings. In his recent findings, Brunnis claims input lag on his sub-1ms LCD monitor is a mere fraction of a frame slower than real hardware on a CRT with room for improvement. Already they’re virtually identical going by his tests. This is illuminating in light of the increased interest in FPGA consoles with zero input lag (and accuracy, convenience, use of real carts, among other benefits). I know not all emulators are built the same and comparable in accuracy to the original hardware, but going by DF Retro’s latest review, BSNES/Higan and the Super NT are basically tied when it comes to producing an experience matching an original SNES 2-chip. If you have a G-Sync-enabled display and the SNES core set to run at native refresh… then it’s possible the overall emulator experience can, in some cases, exceed the performance of dedicated FPGA hardware. This includes CRT shaders if they’re to your liking, save states for games lacking any save system, and the tack-sharp Retroarch 4K vs. the NT’s slight softness after its 1080p output is upscaled/filtered by a 4KTV.
Read his full findings at the link below (the overall discussion is a good read). I think this is motivation for me to get Retroarch cores fully set up once and for all. Obviously emulators aren’t perfect, far from it in the cases of systems like the N64, but it’s encouraging to see how greatly improved they are compared to only recently. I know personally that terrible performance and serious input lag with the then-best console emulators were my push into retro gaming on original hardware and CRTs. It’s nice to have a growing number of options.
I’ve used my iPhone 8 to record videos of the monitor and LEDs/controllers at 240 FPS. I’ve then counted the frames from the LED lighting up or button appearing pressed down until the character on screen reacts (jumps). The results presented further down are based on 39 samples for each test case. Below are screenshots of each test case. The test scene is the starting of the very first level in Yoshi’s Island.
Core i5-5300U (Broadwell)
16 GB DDR3-1600 CL11 (1T)
Windows 10 Version 1709 (OS version 16299.125)
Intel GPU driver 220.127.116.1131 (with default settings)
RetroArch nightly from November 12 2017
HP Z24i 1920x1200 monitor, connected to the Dell laptop via DVI. Native resolution was used in all tests.
Super Mario World 2: Yoshi’s Island (NTSC)
video_fullscreen = “true”
video_windowed_fullscreen = “false”
video_hard_sync = “true”
video_frame_delay = “6”
video_smooth = “false”
Raphnet Technologies ADAP-1XWUSBMOTE_V2
Adapter configured to poll controller with 1 ms interval (fastest setting available)
And, just to be clear, vsync was enabled for all tests.
Finally, I’m including results from a real SNES as well. That setup consists of:
SNES (PAL) connected to CRT TV (Panasonic TX-28LD2E) via RF output
Original SNES controller rigged with an LED connected to the B button
Super Mario World 2: Yoshi’s Island (PAL)