RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Hmm..Input Lag

    Scheduled Pinned Locked Moved General Discussion and Gaming
    laginputinput laglag inputtostitos scoops
    33 Posts 7 Posters 9.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mediamogulM
      mediamogul Global Moderator @KN4THX
      last edited by mediamogul

      @thedatacereal

      It sounds like you've been using emulators for quite some time. It's possible that you've simply become accustom to it. I've seen several videos and forum posts where people claim to be having a hard time adjusting to the new look-ahead feature in RetroArch because they're now so used to the existence of lag.

      Back in the Nesticle days, I wasn't aware of any input lag either. At that time, it had been a while since I owned an NES and I just assumed I was out of practice when a win didn't come as easily as it once did. Of course it was probably a little of both to be fair.

      Also, keep in mind that while a reduction in lag will certainly give you an advantage, most games can be played just fine with lag existing. There's only a small percentage that become "impossible" with a few frames of lag and I'd argue that they too could possibly be overcome with a fair amount of memorization.

      If you're interested in testing how much lag exists in any one game, I'll paste a reply I wrote in another thread that sketches out the procedure.

      For anyone who doesn't know, you can test how many frames of lag a game has by using the RetroArch pause feature, then hold down a button that will invoke an action in game. Then, use the frame advance feature to move forward one frame at a time until you start to see the action take place in game. However many frames it took to begin the action animation, minus one is how many frames of lag exist and it can vary from game to game.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      Y KN4THXK 2 Replies Last reply Reply Quote 2
      • Y
        youxia @mediamogul
        last edited by youxia

        @mediamogul said in Hmm..Input Lag:

        For anyone who doesn't know, you can test how many frames of lag a game has by using the RetroArch pause feature, then hold down a button that will invoke an action in game. Then, use the frame advance feature to move forward one frame at a time until you start to see the action take place in game.

        Pardon my query, since I'm certain it's something beyond obvious, but how do I actually use this? On a PS3 pad, I invoke the hotkey pause, game pauses, then I press (or press and hold) eg "A for punch/shoot/jump", then my hotkey for Frame Forward - the game forwards but the supposed punch/shoot/jump action is not happening at all.

        mediamogulM 1 Reply Last reply Reply Quote 0
        • mediamogulM
          mediamogul Global Moderator @youxia
          last edited by mediamogul

          @youxia said in Hmm..Input Lag:

          I press (or press and hold) eg "A for punch/shoot/jump", then my hotkey for Frame Forward

          The two hotkey combos are likely interfering with each other. Try using the 'k' key from a keyboard to advance forward.

          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

          thelostsoulT 1 Reply Last reply Reply Quote 2
          • KN4THXK
            KN4THX @mediamogul
            last edited by

            @mediamogul Thank you , I did not know about that. One day I just need to sit down and read everything about RetroArch I can. I'm also curious to see how much lag a person can take without noticing. A family member makes me play retro side scrollers but won't turn on their Game Mode on the television and I get so frustrated and how bad it is. They just laugh because they just think I stink at retro games.

            "If you're gonna play the Game Boy, You gotta learn to play it right" - https://www.youtube.com/watch?v=FYLGl92ETNQ

            quicksilverQ 1 Reply Last reply Reply Quote 0
            • quicksilverQ
              quicksilver @KN4THX
              last edited by

              @thedatacereal ugh I hate it when friends and family have their TV's configured wrong. Seems most people just leave the settings at default and think it's good enough. I usually go behind them and fix everything.

              KN4THXK 1 Reply Last reply Reply Quote -1
              • KN4THXK
                KN4THX @quicksilver
                last edited by

                @quicksilver I agree. I even have offered to change it for them and compare it so they can see how much better it is but they think I am just making excuses for losing. I guess from now on I'll have to start carrying my own tv when i take my RPi over :O

                "If you're gonna play the Game Boy, You gotta learn to play it right" - https://www.youtube.com/watch?v=FYLGl92ETNQ

                1 Reply Last reply Reply Quote 0
                • Y
                  youxia
                  last edited by youxia

                  Okay, I've managed to get it going and did some tests on my CRT TV (NTSC via composite). RPi 3B+ @800Mhz with USB PS3 pad and keyboard, Retropie 4.4. The number indicates how many frames occurred before the action commenced. Different games yielded different results hence the range.

                  Megadrive: 2-3
                  PC Engine: 1-3
                  SNES: 1-3 (Super Mario World = 2 if you want to compare with this test
                  ZX Spectrum: 2 to14 That 14 is a wildly high number which I don't think represents real value - definitely did not feel like that, perhaps something to do with NTSC vs PAL and/or my setup and emulator config
                  Commodore 64: 2
                  Mame: 3-4

                  What's interesting is that using the "unsupported tweaks" (aka video_threaded / video_max_swapchain_images / video_hard_sync) in the above test made absolutely no difference. Perhaps I did something wrong, though not sure what could that be.

                  1 Reply Last reply Reply Quote 0
                  • thelostsoulT
                    thelostsoul @mediamogul
                    last edited by thelostsoul

                    @mediamogul said in Hmm..Input Lag:

                    The two hotkey combos are likely interfering with each other. Try using the 'k' key from a keyboard to advance forward.

                    Finally I managed to test this in SNES emulator. The way I do is

                    • Hotkey+p to pause the game
                    • click Hotkey button + Joypad B + Keyboard k at same time periodically until jump happens

                    In Super Mario World it happens at frame 3. So, at least this part is normal.
                    But this is only one half of the story right? This just tests the emulators input lag. But there are other things going on too, the time button press is have to be registered and the video send to monitor and so on. I use USB iBuffalo gamepad, a HDMI to VGA converter on a pc monitor at 480p and have shaders on. It would be a wonder if there is no additional input lag somewhere. In gameplay, I do not recognize any input lag. But I want to be sure here. What would you recommend? It feels instantaneous, so its just for curiosity.

                    I feel, I don't hijack this thread as it is on topic.

                    📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                    mediamogulM Y 2 Replies Last reply Reply Quote 0
                    • mediamogulM
                      mediamogul Global Moderator @thelostsoul
                      last edited by mediamogul

                      @thelostsoul said in Hmm..Input Lag:

                      But there are other things going on too, the time button press is have to be registered and the video send to monitor and so on. I use USB iBuffalo gamepad, a HDMI to VGA converter on a pc monitor at 480p and have shaders on.

                      Unfortunately , the run-ahead feature won't help with any of those situations, only the inherent latency that exists in the game's programing. For latency caused by LCD monitors, televisions, wireless controllers, streamcasting or even latency resulting from emulation itself, you'd need to employ other tactics, such as the one's listed here.

                      What would you recommend? It feels instantaneous, so its just for curiosity.

                      For me, the most important factors are always how comfortable the controls feel, how well they represent a game's original control scheme and are they noticeably working against me in any way. If everything feels fine, I say let sleeping dogs lie.

                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                      1 Reply Last reply Reply Quote 2
                      • Y
                        youxia @thelostsoul
                        last edited by youxia

                        @thelostsoul said in Hmm..Input Lag:

                        But this is only one half of the story right? This just tests the emulators input lag.

                        I'm not so sure. If you press a button, and then see the action happen x frames later, then x is the entire lag. The lag-inducing things you describe have already happened.
                        Seeing as you're using a CRT yours is already very low, I wouldn't worry about it.

                        1 Reply Last reply Reply Quote 0
                        • mediamogulM
                          mediamogul Global Moderator
                          last edited by mediamogul

                          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.

                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                          1 Reply Last reply Reply Quote 0
                          • thelostsoulT
                            thelostsoul
                            last edited by thelostsoul

                            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?

                            📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                            1 Reply Last reply Reply Quote 0
                            • thelostsoulT
                              thelostsoul
                              last edited by thelostsoul

                              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?

                              📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                              mediamogulM 1 Reply Last reply Reply Quote 0
                              • mediamogulM
                                mediamogul Global Moderator @thelostsoul
                                last edited by

                                @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.

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                1 Reply Last reply Reply Quote 0
                                • thelostsoulT
                                  thelostsoul
                                  last edited by

                                  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?

                                  📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator @thelostsoul
                                    last edited by mediamogul

                                    @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.

                                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                    thelostsoulT 1 Reply Last reply Reply Quote 1
                                    • thelostsoulT
                                      thelostsoul @mediamogul
                                      last edited by thelostsoul

                                      @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?

                                      📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                                      mediamogulM 1 Reply Last reply Reply Quote 1
                                      • mediamogulM
                                        mediamogul Global Moderator @thelostsoul
                                        last edited by

                                        @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.

                                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                        thelostsoulT 1 Reply Last reply Reply Quote 0
                                        • thelostsoulT
                                          thelostsoul @mediamogul
                                          last edited by

                                          @mediamogul Haha, no wonder, its a hot topic everyone talks about it. ;-) Can't blame for this.

                                          📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Beldar
                                            last edited by Beldar

                                            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.

                                            thelostsoulT 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.