Hmm..Input Lag
-
As absolutely clever an idea as I think RetroArch's run-ahead is and as much as I love the results, I also believe it's been publicized a little confusingly. It's been stated that it will achieve latency below that of original hardware, and while that is entirely true, it's really only true for those using a CRT display and wired controllers. Any other setup can only leverage it as a means to reduce latency by however many frames a particular game happens to contain inherently. All other sources of latency still apply. A television's 'Game Mode' should still be active and wired controllers are still a good idea.
-
Maybe you are right, I should let the sleeping dog lie. But my curious nature can't do this and now I get involved (just a little bit, like a kid shouting to the dog from a distance).
While some research, I found an App for the iOS, which should help analyzing the input lag.
http://isitsnappy.com/
Unfortunately I only own an Android device, so I can't use this app. But at least its capable of 240fps.I only use USB (plus a wireless keyboard) devices for input and so I can't test it with an LED. But... two of the input devices have an built in LED, my Arcade Stick and the wireless keyboard. Pressing a button with turbo mode on the Arcade stick will the LED light up. This should be instant with button pressing, right? And would be the results of the Arcade Stick comparable to the Classic Gamepad?
-
Ok, I did a quick unscientific test, like described above with video recording LED of Arcade Stick. I did test Donkey Kong for Mame2003 and got an input lag of 8 frames. Not 100% sure if this is correct, but sounds quite high to me. With the method pausing the emulation, holding the jump button down (in turbo mode) and counting the frames until jump happens is 4 frames. Does this sound correct to you?
So, on my end for Donkey Kong on Mame2003, I have this:
4 frames input lag for games own lag plus emulation with pause
8 frames input lag for total hdmi to vga converter to monitor with video recording (including everything)So now, to find out the actual input lag in milliseconds, do I need to multiply 16.6 with the frame count? 4x16.6=66.4ms and 8x16.6=132,8ms? Is that correct?
-
@thelostsoul said in Hmm..Input Lag:
holding the jump button down (in turbo mode) and counting the frames until jump happens is 4 frames. Does this sound correct to you?
As long as you're not counting the first frame in which you actually see animation, it would be correct. Otherwise, it would be 3 frames.
-
I don't know what you mean by that. Why shouldn't I count the first frame of animation? Isn't that the start of it?
Here is an animated GIF for the setup with video capture: https://makeagif.com/gif/input-lag-retropie-44-raspberry-pi-3-donkey-kong-mame2003-emNiU0
(too big, can't upload it here)
Is my calculation about the input lag in milliseconds correct? -
@thelostsoul said in Hmm..Input Lag:
I don't know what you mean by that. Why shouldn't I count the first frame of animation? Isn't that the start of it?
What you're aiming to remove are only the inactive frames of animation, so that when you press a button, your character will react on the very next frame. If you include that first frame of action animation in your count and add it to the run-ahead frames, you'll effectively be deleting it from existence every time. This would not only create a problem in timing, similar to the latency that you're trying to get rid of, but it would also create visual artifacting.
Edit:
Is my calculation about the input lag in milliseconds correct?
That looks right.
-
@mediamogul Ah ok, thank you for the explanation. I am not 100% if I understand the whole topic, so need to learn more about it. I wasn't trying to remove it, I only was curious about the current state of the normal emulators on my actual setup with the monitor (and adapter between it).
So, your answer was in reference to the run-ahead feature, right? -
@thelostsoul said in Hmm..Input Lag:
I am not 100% if I understand the whole topic
Ha! you know, it's me being the one off topic here. A handful of lag threads popped up in the last week or so and I had originally responded here with info on the run-ahead feature. However, I have since moved it to a more appropriate thread. Sorry for the confusion. Nonetheless, the one point still stands that when determining input lag, you're only looking for inactive frames. Once an action animation has begun, that first frame of activity is the game being aware of and responding to input.
-
@mediamogul Haha, no wonder, its a hot topic everyone talks about it. ;-) Can't blame for this.
-
A CRT is the obvious choice to remove monitor lag. Even a really nice LCD TV can cause 5 to 7ms of input lag even in gaming mode. I spent time hunting for a low input lag TV and it still seems to produce about 3 to 5ms.
I am still on the lookout for a cheap CRT to play with, but I found the next best option. I have been using a 1ms rated gaming LCD monitor. There are several brands that sell these (my favorite is ASUS.) If you are okay with a model that's a year or two old, you can get one for less that 150USD on Amazon.
-
@beldar I have a high end gaming monitor with very low input lag. The 4ms or 1ms time only tells how fast the grey to grey is and doesn't tell full story. There are a lot of other things going on. An IPS panel monitor with 4ms grey to grey value can have less input lag than a 1ms TN panel monitor.
Mine is AOC IPS 144Hz (up to 165hz) with G-Sync. :-) I think that I wouldn't get any noticible lag with this one. There are a number of other reason why I choice CRT for retro gaming. And I wonder if the lag on CRT setup with hdmi to vga adapter is higher than my IPS monitor. For direct measurement and comparison I have to change some settings. Still lazy on this.
-
@thelostsoul I always stick with TN type computer monitors. The increased ghosting on most IPS panels makes me nutty. I don't care much about fancy colors if they go all smeary during the action. Also aside from retro gaming I like very high refresh rates on my PC games.
But I'm sure you caught my point that while there ia technically a faster response on CRTs, it is not likely to be perceived when compared to a decent quality gaming panel. The rest of the lag is going to be coming from either the Pie or singal converters/upscalers/ect.
I personally notice a huge difference on my gaming panel when compared to any of the four TVs I've recently owned. However, I notice almost no difference when reducing lag on the Pie's side (dispmanx, video threading, etc.) That leads me to believe that even decent quality LCD TVs just aren't that good for gaming.
-
@beldar I am curious how much I can reduce lag and. You can see in my above link to the GIF (poir quality) how much the barrel fall down until a move happens. In most games this isn't critical. But playing unforgiving bullet hell shmups or classic Marios, this can have a slight real world effect. On a "regular" TV I even wouldn't bother.
https://github.com/RetroPie/RetroPie-Setup/wiki/Input-Lag
I will try some of these settings. Did the guy who wrote this article over clocked? I did quite a lot and I have a fantastic cooling (no fan), so I should be able to do what this guy did without problems right? I also play on 640x480p resolution, so its less then the default.I wish I would have a monitor with 15khz capability (240p).
-
@thelostsoul said in Hmm..Input Lag:
Did the guy who wrote this article over clocked?
@dankcushions wrote the original doc and I expanded a bit on the unsupported tweaks. I was not overclocking when testing the effects on the NES emulators. The results, while positive, were really only noticeable in the games that needed it the most. For example, when you have 4 frames, or 66.4ms to turn corners in 'Battletoads', every little bit is very noticeable.
-
@mediamogul And the resolution was at 1080p right?
-
resolution and overclocking only affect input lag if youβre under 60fps in the first place. at stock settings on a pi3 and 16/8-bit consoles, you wonβt be.
-
@dankcushions The reason why I ask is, because I have some more room for performance, so I can use more of these tweaks to reduce input lag, which also increases the load.
-
@thelostsoul neither @mediamogul nor myself are overclocked, but again, the performance is only an issue when you drop frames. until then, you should be good to go.
be aware that all the tweaks in the 'unsupported tweaks' section are a) unsupported, and b) likely only feasible to that degree for NES, which needs around half the power of, say, SNES emulation, which has very little headroom.
-
@dankcushions What about the other systems? Why are most talk about NES and SNES? Just because its more popular or is there a technical reason for it?
By the way, which emulators are tested on the said article? Does it make even a difference which emulator is used? I changed most default emulators. -
@thelostsoul said in Hmm..Input Lag:
Why are most talk about NES and SNES? Just because its more popular or is there a technical reason for it?
Popularity is likely part of it, especially for the SNES, but personally I've never seen any other game library so tightly dependent on low latency than the one belonging to the NES. Make no mistake, you'll always gain a play advantage having low latency on other systems if you can manage it, but there are several titles for the NES to where the difficulty ramps up considerably when losing more than a few frames and even some to where it's debatable if you can even complete them.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.