forums.PPSSPP.org
RetroArch fixes Input Lag - Printable Version

+- forums.PPSSPP.org (https://forums.ppsspp.org)
+-- Forum: PPSSPP - Playstation Portable Simulator Suitable for Playing Portably (/forumdisplay.php?fid=1)
+--- Forum: Off-Topic (/forumdisplay.php?fid=16)
+--- Thread: RetroArch fixes Input Lag (/showthread.php?tid=24279)



RetroArch fixes Input Lag - fivefeet8 - 05-07-2018 04:24 PM

I must say, I'm pretty impressed with the recent release of RetroArch 1.7.2 now up to 1.7.3. The newest feature is something called Run Ahead. From my limited understanding, it renders off-screen frames ahead and when you press an input, it renders the past frame with the input thereby making the input frame lag in less frames. It basically means what you're viewing on screen is a frame or two behind? It is a bit mind boggling to think about in the layman.

https://www.libretro.com/index.php/retroarch-1-7-2-released/
https://www.youtube.com/watch?v=_qys9sdzJKI

I've been playing around with it with various emulation Cores on my Shield TV. It's pretty damning how much I got use to the lag frames. I didn't notice it until I turned on the Run Ahead in a game with what I thought had low latency input only to realize how much more responsive it felt with the option on. It does make many games less authentic in some ways, but then emulation has sometimes been about improving the experience of these oldies.. Cool


RE: RetroArch fixes Input Lag - [Unknown] - 05-08-2018 11:01 PM

Well, what it's doing is basically using save states. It's easier to understand if you ignore internal game latency for a moment:

Let's say you have an input lag of 50ms. That means when you physically press a button it takes 3 frames before the game actually "sees" that button press. This might be caused by hardware, cables, drivers, monitor refresh rate latency, whatever.

So this feature basically takes a save state every single frame (kinda like rewind.) When a button press finally makes it through the hardware, it loads the save state from three frames backward, presses the button, and then skips frames back to where it was before. This way it's like it happened right when you pressed it.

It actually sounds like it's constantly rewinding to keep FPS stable (rather than only bad when you press buttons.)

This makes more sense when the game has internal latency, because then you skip the frames where it wasn't reacting (yet) to what you did.

The more Mhz and RAM a device has, the more the save state will cost. The PS1 had like 3MB of RAM, but the PSP has 32MB. Constantly saving and loading state would definitely be... hard on PPSSPP, mostly because of that RAM which is the slowest part of the save operation. It might even be worth it at that point to sacrifice some jit speed to track changed pages of RAM to reduce the sheer data of save states.

Interesting feature though, especially for old retro devices with tiny RAM.

-[Unknown]


RE: RetroArch fixes Input Lag - fivefeet8 - 05-09-2018 05:03 AM

I've actually notice a difference to latency in Final Burn Core as well. Even with heavier arcade games like Hyper Street Fighter 2 or Mortal Kombat 2.