Hello all, a friend and I are trying to setup a retro gaming system using RetroPie. It seems great but we are getting about 200ms of lag between the controller or keyboard and the action on screen with the SNES emulators. Scouring the forums, we’ve tried a multitude of things to reduce the lag but nothing has worked. Here is everything we have tried and other relevant information:
-We have a model B+ Rpi
-We are using a power supply rated for 1.8A so I don’t think it’s a power issue
-The same lag is experienced using a controller (wired Xbox controller) or a keyboard but to ensure that it’s not a controller issue we unplugged everything except the power, HDMI, and keyboard and ran tests using a keyboard.
-We’ve primarily been testing using Super Mario World and Super Metroid ROMs. The lag seems a little less on Metroid but that may just be perception, it’s hard to tell with those time scales. When I play the ROMs on my PC (the exact same ROM files and ZSNES) there is no lag at all using a controller or keyboard.
-We’ve tried using both the default RetroArch SNES emulator and pisnes (the one included in the RetroPie SD image) but they both have the same lag. This may indicate that it’s not an emulator issue.
-We’ve tried overclocking to the Modest and Turbo settings (and also no overclocking of course) but neither made a different in the lag.
-We’ve tried changing the memory split from the default 256/256. When booted with GPU:384, CPU:128, EmulatorStation freezes when loading, every time, multiple tries, and when we try GPU: 128, CPU: 384 the lag is still there.
-We thought it might be a delay associated with the TV itself as it is a newer SmartTV. However, EmulatorStation does not appear to have any such delay when selecting ROMs and whatnot either with the controller or the keyboard. One thing we will try soon is to check whether there is lag with other emulators (NES, GB, etc).
-We’ve tried reducing the HDMI resolution of the emulator by editing the es_systems.cfg config file to change the numeric argument of the runcommand.sh script. I think this may only have changed the horizontal resolution though. There didn’t not seem to be a setting in runcommand.sh to change to 480p. The whole resolution topic is a bit confusing as it seems like there is HDMI resolution and the emulator resolutions, which are separate. So if we can figure out how to get it to do 480p in the emulator this might be something to try. Any ideas on how to do this?
-After fiddling with all the settings we reflashed the SD card with the stock RetroPie image and then only loaded a few test ROMs just to make sure we didn’t accidentally screw something up that was causing the lag. After we did this and booted it up the lag was still there (with only the keyboard connected).
Does anyone have anything else we could try? We’d really like to make this work but this kind of lag makes gameplay much more difficult.
Okay, we actually figured out the problem, which was in fact the TV (I’m an idiot). When we tried it on another, older TV there was no lag! It must be that either I somehow didn’t notice the lag on the EmulatorStation screens or else because those screens are graphically simpler and with near-zero motion, the TV takes less time to process them, thereby reduing the observed lag.