The reason for emulation being laggy is because we render the image into a framebuffer. The base consoles did not do this, they output directly to the CRT syncing with every drawn scanline. They didn't render a frame, then put it into a buffer and make it sync with the display. So this is extremely usefull! increasing latency by one will create close to original experience. Set you TV to "gaming mode", deactivate all the terrible "enhancements" that your TV provides and you should get a close to original hardware experience. :)
On today's devices the latency is around 70-80 milliseconds typically (~5 frame) Reducing it by 1 frame (which is ~17 ms) is better but not enough to match original hardware. Some devices (like the Odin 1 and 2) even has 130-140 ms of latency.
As has been stated multiple times, in Hagane the pre-jump crouch is part of the jump animation. It's not latency; it's like the windup on Simon's whip in Castlevania. Developer-intended delay as part of the animation. There's only one frame of latency before the game reacts to the button press here.
Luckily there's very little lag on retropi, I've been very impressed with it. I was expecting much worse. The only thing that really sucks is the VICE emulator, very poor compared to a real C64.
Correct me if I'm wrong, but in the first game, shouldn't run ahead be set to 1? A frame in the animation is now missing, and there was only a single frame in between pressing 'a' and the animation starting. An I missing something?
really excited about this. I have been gaming on original hardware to a crt for about 2 years now because of input lag. I play a lot of hard nes games that make input lag intolerable. There is another update for retroarch that automatically adjusts the resolution of each game to fit a crt monitor. These two updates combined might be enough to get me to switch back to emulation, at least for some things. Thanks a lot for doing this video eta prime. You're the first person I've seen show this in action.
This is huge news!!! Thank you!!! I recently started using something from CoinOps for PC (they are going to release it soon) and it's really low lag and I realized when playing Super Mario World for the SNES that I am still great at the game, I thought that I was getting old so pulling off those tough moves like I used to on my SNES was just age catching up to me. But nope it was the lag from my emulators throwing me off, using the emulator they are hacking together combined with like you said really good hardware (also a Xbox 360 controller, the controller makes a difference too.) I was able to once again pull off a lot of amazing moves :) I was so impressed with the emulator... Forgotten Worlds from CoinOps for PC, it's a few days from release but it's super awesome :)
When I switched from emulation to actual hardware and a crt monitor I was blown away by the difference. If you get the chance and you are really into the snes I would recommend it. maybe if this run ahead program works out you won't need to...Battletoads was the game that made me switch. I could not beat it with emulation.
I still have my launch SNES :P and a 20 something inch CRT... I keep it for those days I am feeling really nostalgic lol I can't say the same thing about my NES though :( the one I have now is like my 3rd one... but my poor old Nintendo fingers (it's a condition you get if you play NES too much...) the 360 controller is much more ergonomic.
RoboTronix its super cool u still got your og snes. When i discovered emulation i took all my original hardware and games and threw them in the trash. No joke. It was like 5 consoles and a hundred games.... Damn
Thanks ETA prime I didn’t notice that feature when I updated I’m gonna try it when I get home I’m at work right now I was watching your video on my break
So this is basically frameskip for input. because rather than skipping frames to keep the game timing it's skipping a frame so that you're not waiting for the input animation to catch up with the button press. In Hagane the character bends down before it jumps without the feature turned on. but with it turn on the emulator skips ahead two frames each time you hit the button so that might account for the audio issue.
it loks like a manual frameskip, basically it makes the whole game skip a frame right? so whenever you jump all moving parts of the game also skip the frame, so you can't evade something that's X frame away from hitting your character because it'll teleport into it's face anyway when the button is registered .... ?! :|
@@nickiebanchou apparently not, it's more like a save-rollback-input-show frame. apprently it doesn't actually skip frames, except once at the very launch of the game
Both of your examples are only one frame behind not two.. you're not supposed to count the active frame (the one where your character changes animation) as a frame of delay ;) Curious to see how the pi handles this (if at all!) Already saw someone in the comments say that it only works for nes so far (and only 1 frame at that)
To discover lag on retroarch pc version is easy, but how to do this on Android that don't have keyboard to press K to discover how many frames we need to change
What worked better for me was the first option to sync the CPU to the GPU. Then no run-ahead was necessary for NES - probably the same for other low processor systems.
are you playing on a TV? the latency on tv's can run well into the 30 ms aswell. i had no problems wall jumping in super metroid when playing on snes9x played from my pc, to my surprise i even managed to walljump in metroid: zero mission on the gba (visualboyadvance), which has a lot faster physics. don't think i've played super metroid on my r-pi yet, so can't say how it's like on that one.
That problem was removed ever since i switched over to a monitor instead of a tv. Tv's have a pretty high input lag but on my monitor there is barely any lag added
Tried in my Android phone "Xaomi mi a1, with the snes9x core and it worked but the sound was skipping, changed to Snes9x2010 and it worked flawlessly... Don't know about the other cores but in doubt try using a less demanding one
I love this new feature, it makes Super Mario World finally playable (whoever says it was already playable on an emulator before this, would be just plain wrong). HOWEVER, for cores like FBA, I believe the traditional method works better: Vsync ON (both RetroArch & Control Panel), Hard GPU Sync ON, Frame Delay 12 (or as high as your hardware allows you), and Audio Delay 36 - 42 or as low as you can go before audio crackling. For SNES, what I found to be the sweet spot between lowest input lag and preservation of frames, is: The settings I mentioned before, but Frame Delay 8, Run-Ahead ON, Run Ahead Frames 1. The only exception is Super Mario World (Run Ahead Frames 2), but that's because that f*ckin' b*tch was just created in the boiling depths of input lag hell by Inpütten Lagmehr, Lord of Input Lag himself.
Could someone explain better how to know the frames?! Please. Because on youtube, everyone says something. I did the procedure with Super Mario World (snes): - I pressed the "K" key, Mario did NOT move. - I pressed the "K" key a second time, Mario did NOT move. - I pressed the "K" key for the third time, Mario moved. How many frames do I set on RETROARCH??? 2 or 3?!
@@too2buff Response from another channel doing the same test: "That equates to two frames in runahead, since the third press was when it activated you don't count that one."
@@italoa.b.oliveira3499 SO after some more testing you may be right, I have had to edit a few. I tested ETA's method and tried the secondary method (subtracting 1) and that seemed to be more accurate. So set the latency however you want and then always test it to make sure you are "jumping" on the first frame
Yes you don't count the fame when the game reacts but If you think about it logically the game cant ever react before you press the button anyway, it can only get closer to, but never actually reach "instant" so it doesn't matter as long as it doesn't cause noticeable graphical issues, so just go by what feels best to you after all even the original hardware has some lag.
Thank you for all the videos. Not sure you read comments on old videos, but I have Pi 3 running 8bitdo SNES controller on an LCD TV. Are there any settings on the pi that minimizes lag? You rock!
I'm not ETA PRIME (obviously) but yes you can. When in game bring up the RetroArch quick menu by pressing your hot key (usually select) and X you will see a menu listed called LATENCY you can then proceed as per this vid. But I cant figure out a way to perform the test as retropie requires the use of hot keys to pause and advance the emulation and holding the hotkey disables the game controls so it doesn't work. So you kinda have to go by trial and error. One option is to put like 6 frames in Run-Ahead and then play the game, too many frames removed will be noticeable and cause graphical issues similar to screen tearing, so if you see those issues start dialling the frames back until you don't get them anymore, if you think about it logically the game cant ever react before you press the button, it can only get closer to "instant" and that is what ETA is doing in this vid hes not trying to config the game to have the same lag as the original hardware just making it as fast as possible.
Im running Retroarch on XSX Using bsnes for my games as I was told this is the most accurate of the snes emulators but when I try to implement the run ahead feature it seems that the core doesn’t support it. 😢
I never had input lag on my Nvidia shield before but suddenly I now do and I didn't change and setting anyone know what to do? I've got all the settings to best latency
Makes me wanna try emulation again. Fascinating, that you can do this. As we, we all assumed it was a given that there was always lag. Will have to give it a try.
this is pretty neat stuff. Thanks for the tutorial. I was messing with this on super mario world (pi 3 b+) and it almost feels like the real game. I noticed though that the speed of the game seems different, it is still smooth but something is just off. Any thoughts? **edit** I was wrong I just did a very complicated move at the first secret by springing off yoshi after a jump to get the keyhole early withought even thinking. Takes many tries with any input lag, amazing stuff, I feel like this option needs to be celebrated or something.
once you get the settings right its perfect, try matching the gpu-cpu sync numbers with the same amount of frames as the read ahead, it gets rid of that trippy screen sticking.
Well it is somewhat he is just taking out the lag that is programmed into the games as well and making them more responsive than original hardware. So depending on how the game is programmed it will vary and there is no real way to undo something dependent upon each game than to go game by game.
A noob question: can I set "one" value of run ahead frame for every Sega and SNES games as default or it going to mess up with sound gameplay?! (Using an average Xiaomi Note 10 pro handset with RetroArch and a Bluetooth SNES knockoff gamepad)
I think it’s core dependent as well as game dependent. Tried the same thing w/ the bsnes balanced core and to achieve the same thing u have to set the run ahead to 3
Tried this and it seems to cause more problems then its worth. In DKC for example when using run ahead it will cause holding down a button to act like a turbo button. So holding down jump will make you jump continuously. Turning on run ahead second instance will fix this but then you will see things like your character throwing a barrel (even though you didn't do it) and then the barrel magically appearing in your hands again. Same happens when testing in SMW. Adjusting to the input lag is less intrusive IMHO. Does anyone know if there is a way around this problem?
I think it's because run-ahead frames are set too high. Most SNES games have 2 lag frames: higher values will cause things like Donkey Kong throwing a barrel just to snap back so he's never thrown it.
This feature only reduces/eliminates lag built into the emulator; not lag from the control method itself (some people refer to this as input lag). At best, if you use an input device that is directly wired with a high polling rate, it as close as you can get to 'lag-less'. On the other hand, if you're using a bluetooth controller with lots of interference, that gets polled at 100hz, you will experience lag (nothing retroarch can do about that)
Naaah, it's just impossible to play Mario Kart for Snes on Android using a ps4 controller... It turns too much on the direction you wanna go and I always loose control of the car
I just installed it and it's absolutely brilliant!! It actually really works!! 1943 kai on the PC Engine has some serious input lag' now its all gone. Im so happy to able to play games like i had the real thing,.
Hi. Coule you update this video for a retropie use ? I think retroarch has been updated recently in retropie. Would be nice if you could recommand us what settings we can use per core (number if frames ahead). Cheers
Hi, what is really annoying in my opinion, is that *you almost need to set up one configuration per game.* It's particularly exhausting, isn't it? Isn't there an easier solution?
After you set it up you can go to Overrides in the quick menu and put either save a core or folder override. I’d recommend folder override if you have your roms organised per system.
hey. i was playing lego star wars through retroarch on an xbox one controller and it completely made the game unplayable. the second i turned off bluetooth, the game ran fine. do you know how to fix this problem? im also getting input lag when i use the xbox one controller on my phone
I'm confused on what to do because on turtles in time the jump and attack animation begins at 4 frames but turning from side to side animation happens at 3 and I notice it with other games any advice?
Retropie now runs RetroArch at 1.7.6, but doesn't allow you to press an in-game button like 'jump' while paused so I can't test the lag. Also, I can't save the Configuration Override for game without an error; so I have to set these manually on the Run-ahead latency option each time I boot up the game. Is there a better way of doing this on a Raspberry Pi 3 B running Retropie/Emulstation?
I am attempting this on retropie with the NES core, and while I can pause the emulation and advance frames (per your description), controller input won't register in the paused state. Any tips? Keyboard hotkeys are enabled when pressing ALT, via Retropie-Setup.
Hagane actually only has one frame of lag. An actual console only polls for input at the beginning of each frame. When you press K the first time, that is the frame where the console receives the input. The next frame is when the action actually happens. In Super Mario World Mario jumps on the 3rd frame which means the game has 2 frames of lag. Proof of this is looking at your character in Hagane before you set any frames of run ahead. When he starts to jump, he ducks first. When you set Hagane to 2 frames of run ahead, notice that he did not duck first before going airborne. When you set run ahead over the amount of frames of actual lag, you will be cutting out frames of animation.
Question. Is there a good resource for finding out 1) What the input latency is on various different emulators and 2) What the latency is on the real hardware? For example, lets pretend that a real SNES or Genesis has an inherent 1 frame of latency and that the emulator by default has three frames. Personally, I'd prefer to reduce the latency so it matches the real hardware rather than reduce it an extra frame. Edit: Just taken in that it's the game latency being reduced, not the emulator's own latency. Still kind of cool as it can theoretically compensate for some of the latency added by the device the emulator is being run on and input lag inherent to the emulator itself.
I’m using a PS4 controller and I don’t really notice too much lag when playing corded but as soon as I’m playing through Bluetooth it’s horrendous! Has anyone used a Bluetooth controller on the Pi 3B without too much lag? Or at least less than what the DS4 has?
Simply austin in his odroid vs raspberry speaked about input lag....after searching i tried "game mode" in my tv and it helped. Afger reading the post in libetro forum and in the github aboyt what can you do to make it better you post this update.... :)
I hope someone makes a full romset profile for most systems with the common settings so we don't have to touch it much. It's really different on what tv your using also.
The reason for emulation being laggy is because we render the image into a framebuffer. The base consoles did not do this, they output directly to the CRT syncing with every drawn scanline. They didn't render a frame, then put it into a buffer and make it sync with the display. So this is extremely usefull! increasing latency by one will create close to original experience. Set you TV to "gaming mode", deactivate all the terrible "enhancements" that your TV provides and you should get a close to original hardware experience. :)
On today's devices the latency is around 70-80 milliseconds typically (~5 frame)
Reducing it by 1 frame (which is ~17 ms) is better but not enough to match original hardware.
Some devices (like the Odin 1 and 2) even has 130-140 ms of latency.
Brilliant news - retro games feel so much better with low latency.
As has been stated multiple times, in Hagane the pre-jump crouch is part of the jump animation. It's not latency; it's like the windup on Simon's whip in Castlevania. Developer-intended delay as part of the animation. There's only one frame of latency before the game reacts to the button press here.
The game is 1 behind. When you pressed K it skipped the prejump squat frame at 6:50
Can't wait for RetroPie to be updated with this!
Luckily there's very little lag on retropi, I've been very impressed with it. I was expecting much worse. The only thing that really sucks is the VICE emulator, very poor compared to a real C64.
Correct me if I'm wrong, but in the first game, shouldn't run ahead be set to 1? A frame in the animation is now missing, and there was only a single frame in between pressing 'a' and the animation starting. An I missing something?
You are absolutely correct. You are supposed to count frames, then subtract one. It isn't obvious that you're supposed to do the subtraction.
That is what I thought, thanks for verifying.
Agreed. The crouch before the jump is apart of the animation. However, this shows how this feature can in theory beat real hardware latency.
Yes. This is why it is important to count these for frames properly for every game. I tested it and its super awesome.
Due to that mistake the video was more informative, seeing how the crouching disappeared from the jump animation.
really excited about this. I have been gaming on original hardware to a crt for about 2 years now because of input lag. I play a lot of hard nes games that make input lag intolerable. There is another update for retroarch that automatically adjusts the resolution of each game to fit a crt monitor. These two updates combined might be enough to get me to switch back to emulation, at least for some things. Thanks a lot for doing this video eta prime. You're the first person I've seen show this in action.
This is huge news!!! Thank you!!! I recently started using something from CoinOps for PC (they are going to release it soon) and it's really low lag and I realized when playing Super Mario World for the SNES that I am still great at the game, I thought that I was getting old so pulling off those tough moves like I used to on my SNES was just age catching up to me. But nope it was the lag from my emulators throwing me off, using the emulator they are hacking together combined with like you said really good hardware (also a Xbox 360 controller, the controller makes a difference too.) I was able to once again pull off a lot of amazing moves :) I was so impressed with the emulator... Forgotten Worlds from CoinOps for PC, it's a few days from release but it's super awesome :)
When I switched from emulation to actual hardware and a crt monitor I was blown away by the difference. If you get the chance and you are really into the snes I would recommend it. maybe if this run ahead program works out you won't need to...Battletoads was the game that made me switch. I could not beat it with emulation.
I still have my launch SNES :P and a 20 something inch CRT... I keep it for those days I am feeling really nostalgic lol I can't say the same thing about my NES though :( the one I have now is like my 3rd one... but my poor old Nintendo fingers (it's a condition you get if you play NES too much...) the 360 controller is much more ergonomic.
RoboTronix its super cool u still got your og snes. When i discovered emulation i took all my original hardware and games and threw them in the trash. No joke. It was like 5 consoles and a hundred games.... Damn
I can't go back to using a Raspberry Pi after using this. It's amazing.
I couldn't ask for anything better. Total game changer.It works great
Setting hagane to 2 frames you miss the amazing ducking frame before jump. I whould just ser to 1 frame
Thanks ETA prime I didn’t notice that feature when I updated I’m gonna try it when I get home I’m at work right now I was watching your video on my break
This is amazing, this just made 2018 great. All I use is Android and Retroarch with a 360 controller.
This was so helpful, thanks! I can play Kaizo Hacks just fine now
Working perfectly on a Xbox one series s with retroarch , thank You!
Completely fixed my hacked NES classic mini! Thanks again man!
Is there a tutorial you can recommend for completing this hack on the NES classic mini?
Amazing video. Thank you so much for all the tips!
This video saved my life. Almost all of my problems gone. I have only one left. Why is SNESX so choppy. Skips frames constantly. Makes me crazy.
So far I just notice that I really need this for Super Mario World (SNES) on retropie...nice vid
So this is basically frameskip for input. because rather than skipping frames to keep the game timing it's skipping a frame so that you're not waiting for the input animation to catch up with the button press. In Hagane the character bends down before it jumps without the feature turned on. but with it turn on the emulator skips ahead two frames each time you hit the button so that might account for the audio issue.
That was the OP's mistake. He shouldn't cut two frames but only 1.
it loks like a manual frameskip, basically it makes the whole game skip a frame right? so whenever you jump all moving parts of the game also skip the frame,
so you can't evade something that's X frame away from hitting your character because it'll teleport into it's face anyway when the button is registered .... ?! :|
@@nickiebanchou apparently not, it's more like a save-rollback-input-show frame. apprently it doesn't actually skip frames, except once at the very launch of the game
Damn, I had no idea this was a thing. I will be updating my retroarch tonight and trying this out!
what would be the best way to count frames like this in 3d games? through jumping animations it's a bit harder to tell
Both of your examples are only one frame behind not two.. you're not supposed to count the active frame (the one where your character changes animation) as a frame of delay ;)
Curious to see how the pi handles this (if at all!) Already saw someone in the comments say that it only works for nes so far (and only 1 frame at that)
ETA, thanks for this video. I will set it up tonight :D
To discover lag on retroarch pc version is easy, but how to do this on Android that don't have keyboard to press K to discover how many frames we need to change
You’re a life saver, sir. 🍻
Pure bliss! Thanks again for your videos.
What worked better for me was the first option to sync the CPU to the GPU. Then no run-ahead was necessary for NES - probably the same for other low processor systems.
Thank you, it helped a lot on Android regarding input lag.
Good job on this video!! Specialy on the slowmo!!
Can't wait to finally wall jump correctly in Super Metroid!
are you playing on a TV? the latency on tv's can run well into the 30 ms aswell.
i had no problems wall jumping in super metroid when playing on snes9x played from my pc,
to my surprise i even managed to walljump in metroid: zero mission on the gba (visualboyadvance), which has a lot faster physics.
don't think i've played super metroid on my r-pi yet, so can't say how it's like on that one.
That problem was removed ever since i switched over to a monitor instead of a tv. Tv's have a pretty high input lag but on my monitor there is barely any lag added
I woulda been First but there was some lag... waiting for RasPi build ;)
This changes everything playing st with this is so much better and lost levels
ETA looks like latency is now available in Retroarch on retropie... maybe topic for a revisit of this topic.
Agreed!
I didn't know I miss such an awesome game called Hagane. Well, I guess you learn something new every day. Oh, and that no run-ahead is cool too. xD
Awesome video. Not 100 percent sure how to test the latency and what exactly Im looking for but I will try messing around with this.
Great useful video as always, thank you so much ATA!
Tried in my Android phone "Xaomi mi a1, with the snes9x core and it worked but the sound was skipping, changed to Snes9x2010 and it worked flawlessly... Don't know about the other cores but in doubt try using a less demanding one
Michel Tarifa Q
I love this new feature, it makes Super Mario World finally playable (whoever says it was already playable on an emulator before this, would be just plain wrong). HOWEVER, for cores like FBA, I believe the traditional method works better: Vsync ON (both RetroArch & Control Panel), Hard GPU Sync ON, Frame Delay 12 (or as high as your hardware allows you), and Audio Delay 36 - 42 or as low as you can go before audio crackling. For SNES, what I found to be the sweet spot between lowest input lag and preservation of frames, is: The settings I mentioned before, but Frame Delay 8, Run-Ahead ON, Run Ahead Frames 1. The only exception is Super Mario World (Run Ahead Frames 2), but that's because that f*ckin' b*tch was just created in the boiling depths of input lag hell by Inpütten Lagmehr, Lord of Input Lag himself.
You're goddamn right
Been playing it emulated for 20 years, finished it a hundred times no problems. What the f**k are you talking about?
this is like that movie back to the future bro.
Excellent demo video
Awesome channel men, keep whit the great work!
Could someone explain better how to know the frames?! Please. Because on youtube, everyone says something.
I did the procedure with Super Mario World (snes):
- I pressed the "K" key, Mario did NOT move.
- I pressed the "K" key a second time, Mario did NOT move.
- I pressed the "K" key for the third time, Mario moved.
How many frames do I set on RETROARCH??? 2 or 3?!
Italo Oliveira 3 based on me watching this video 1000 times
@@too2buff Response from another channel doing the same test:
"That equates to two frames in runahead, since the third press was when it activated you don't count that one."
try both and decide which ever one you like then is my only suggestion
@@italoa.b.oliveira3499 SO after some more testing you may be right, I have had to edit a few. I tested ETA's method and tried the secondary method (subtracting 1) and that seemed to be more accurate. So set the latency however you want and then always test it to make sure you are "jumping" on the first frame
Yes you don't count the fame when the game reacts but If you think about it logically the game cant ever react before you press the button anyway, it can only get closer to, but never actually reach "instant" so it doesn't matter as long as it doesn't cause noticeable graphical issues, so just go by what feels best to you after all even the original hardware has some lag.
5:02 Is that ducking not part of the Jumping motion? I would say u laggng only one frame behind not two.
after making the changes explained in the video, when starting the game, the retroarch freezes and crashes
If i set this, my game is insanely lagging. Any advices ?
This fixed my input lag using Google Chromecast TV with my Nintendo Switch controller
This'll certainly make the mine kart and snow barrel blast levels from DKC much less horrible!
this is beyond amazing.
Thank you for all the videos. Not sure you read comments on old videos, but I have Pi 3 running 8bitdo SNES controller on an LCD TV. Are there any settings on the pi that minimizes lag? You rock!
I'm not ETA PRIME (obviously) but yes you can. When in game bring up the RetroArch quick menu by pressing your hot key (usually select) and X you will see a menu listed called LATENCY you can then proceed as per this vid. But I cant figure out a way to perform the test as retropie requires the use of hot keys to pause and advance the emulation and holding the hotkey disables the game controls so it doesn't work. So you kinda have to go by trial and error.
One option is to put like 6 frames in Run-Ahead and then play the game, too many frames removed will be noticeable and cause graphical issues similar to screen tearing, so if you see those issues start dialling the frames back until you don't get them anymore, if you think about it logically the game cant ever react before you press the button, it can only get closer to "instant" and that is what ETA is doing in this vid hes not trying to config the game to have the same lag as the original hardware just making it as fast as possible.
Forget that last comment. I got it and is awsome. I dont know how I got 1.7.3 on my pi 3 b+ and pi 3 but its working
Im running Retroarch on XSX Using bsnes for my games as I was told this is the most accurate of the snes emulators but when I try to implement the run ahead feature it seems that the core doesn’t support it. 😢
I never had input lag on my Nvidia shield before but suddenly I now do and I didn't change and setting anyone know what to do? I've got all the settings to best latency
Also in your examples the characters actually start the jump animation in the 2nd frame so wouldn’t it only be 1 frame of lag and Not 2?
Makes me wanna try emulation again. Fascinating, that you can do this. As we, we all assumed it was a given that there was always lag.
Will have to give it a try.
Has Ps3 a hardware strong enough to do this function work well???
What system has the least amount of latency for PC? Batocera, Retropie, Recalbox, Lakka, or Retroarch???
thanks for info. this is amazing
this is pretty neat stuff. Thanks for the tutorial. I was messing with this on super mario world (pi 3 b+) and it almost feels like the real game. I noticed though that the speed of the game seems different, it is still smooth but something is just off. Any thoughts?
**edit** I was wrong I just did a very complicated move at the first secret by springing off yoshi after a jump to get the keyhole early withought even thinking. Takes many tries with any input lag, amazing stuff, I feel like this option needs to be celebrated or something.
once you get the settings right its perfect, try matching the gpu-cpu sync numbers with the same amount of frames as the read ahead, it gets rid of that trippy screen sticking.
ahhhhh, I set it to 4 for super mario world and now the game stutters and when I try to change the setting back, retro arch ctd .... help?
Wow! Great tip! Just a shame that lag is not consistent across a core. But still...this will be cool
Well it is somewhat he is just taking out the lag that is programmed into the games as well and making them more responsive than original hardware. So depending on how the game is programmed it will vary and there is no real way to undo something dependent upon each game than to go game by game.
Hmmm... so no Raspberry Pi 3B yet?
A noob question: can I set "one" value of run ahead frame for every Sega and SNES games as default or it going to mess up with sound gameplay?!
(Using an average Xiaomi Note 10 pro handset with RetroArch and a Bluetooth SNES knockoff gamepad)
Thank you!
I think it’s core dependent as well as game dependent. Tried the same thing w/ the bsnes balanced core and to achieve the same thing u have to set the run ahead to 3
I thought this was new. NOticed differences in your menu from mine. Then I realized it's FIVE YEARS OLD... this should be on by default!
Great video
Tactic and building game players - Meh. no need for that. Platform and shooter game players - Finally! After all these years of input lag pain. :D
Nah it's clearly the other way around. How am I supposed to beat Mario's Picross if my cursor moves a frame late?
Tried this and it seems to cause more problems then its worth. In DKC for example when using run ahead it will cause holding down a button to act like a turbo button. So holding down jump will make you jump continuously. Turning on run ahead second instance will fix this but then you will see things like your character throwing a barrel (even though you didn't do it) and then the barrel magically appearing in your hands again. Same happens when testing in SMW. Adjusting to the input lag is less intrusive IMHO. Does anyone know if there is a way around this problem?
I think it's because run-ahead frames are set too high. Most SNES games have 2 lag frames: higher values will cause things like Donkey Kong throwing a barrel just to snap back so he's never thrown it.
This feature only reduces/eliminates lag built into the emulator; not lag from the control method itself (some people refer to this as input lag). At best, if you use an input device that is directly wired with a high polling rate, it as close as you can get to 'lag-less'. On the other hand, if you're using a bluetooth controller with lots of interference, that gets polled at 100hz, you will experience lag (nothing retroarch can do about that)
Could this be added to FPGA hardware emulation?
Thank u man 👍🏼
Dude, you are doing it wrong, Sonic also doesn't have 2 frames of lag. It's only 1. The frame where he starts to jump isn't a frame of lag!
Having trouble with Metal Gear Solid ps1 when specifically the parts when npc are using the stealth, it lags a lot
So Setting the Skip at 2 would work with All Games?
thanks, how about mame?
Can someone help me im trying to put retroarch on my windows 10 pc but its not working. What am i doing wrong?
Anyone know when this will be available for the retropie?
Naaah, it's just impossible to play Mario Kart for Snes on Android using a ps4 controller... It turns too much on the direction you wanna go and I always loose control of the car
This is great news.
I just installed it and it's absolutely brilliant!! It actually really works!!
1943 kai on the PC Engine has some serious input lag' now its all gone.
Im so happy to able to play games like i had the real thing,.
Hi.
Coule you update this video for a retropie use ? I think retroarch has been updated recently in retropie.
Would be nice if you could recommand us what settings we can use per core (number if frames ahead).
Cheers
Hi, what is really annoying in my opinion, is that *you almost need to set up one configuration per game.* It's particularly exhausting, isn't it? Isn't there an easier solution?
After you set it up you can go to Overrides in the quick menu and put either save a core or folder override. I’d recommend folder override if you have your roms organised per system.
hey. i was playing lego star wars through retroarch on an xbox one controller and it completely made the game unplayable. the second i turned off bluetooth, the game ran fine. do you know how to fix this problem? im also getting input lag when i use the xbox one controller on my phone
How can I get a Bluetooth Nvidia shield controller to work with retroarch ETAPRIME?
I'm confused on what to do because on turtles in time the jump and attack animation begins at 4 frames but turning from side to side animation happens at 3 and I notice it with other games any advice?
Retropie now runs RetroArch at 1.7.6, but doesn't allow you to press an in-game button like 'jump' while paused so I can't test the lag. Also, I can't save the Configuration Override for game without an error; so I have to set these manually on the Run-ahead latency option each time I boot up the game. Is there a better way of doing this on a Raspberry Pi 3 B running Retropie/Emulstation?
Do you ever phantom inputs from usb adapters for snes pads?
thanks a lot man...
bravo...
I am attempting this on retropie with the NES core, and while I can pause the emulation and advance frames (per your description), controller input won't register in the paused state. Any tips? Keyboard hotkeys are enabled when pressing ALT, via Retropie-Setup.
I am using retroarch 1.77 extreme and i set to 2 frames a head on fceumm core. Now super mario bros run perfectly like the original nes
Can I just set the Number of Frames to Run Ahead set to 1 for every game? Or do I have to count frames?
Hagane actually only has one frame of lag. An actual console only polls for input at the beginning of each frame. When you press K the first time, that is the frame where the console receives the input. The next frame is when the action actually happens. In Super Mario World Mario jumps on the 3rd frame which means the game has 2 frames of lag. Proof of this is looking at your character in Hagane before you set any frames of run ahead. When he starts to jump, he ducks first. When you set Hagane to 2 frames of run ahead, notice that he did not duck first before going airborne. When you set run ahead over the amount of frames of actual lag, you will be cutting out frames of animation.
Sonic also has only 1 frame of lag.
I'd really like to see a comparison with real hardware on a CRT. I hope my PVM setup hasn't been rendered obsolete.
Question. Is there a good resource for finding out 1) What the input latency is on various different emulators and 2) What the latency is on the real hardware? For example, lets pretend that a real SNES or Genesis has an inherent 1 frame of latency and that the emulator by default has three frames. Personally, I'd prefer to reduce the latency so it matches the real hardware rather than reduce it an extra frame.
Edit: Just taken in that it's the game latency being reduced, not the emulator's own latency. Still kind of cool as it can theoretically compensate for some of the latency added by the device the emulator is being run on and input lag inherent to the emulator itself.
I’m using a PS4 controller and I don’t really notice too much lag when playing corded but as soon as I’m playing through Bluetooth it’s horrendous! Has anyone used a Bluetooth controller on the Pi 3B without too much lag? Or at least less than what the DS4 has?
Simply austin in his odroid vs raspberry speaked about input lag....after searching i tried "game mode" in my tv and it helped. Afger reading the post in libetro forum and in the github aboyt what can you do to make it better you post this update.... :)
I hope someone makes a full romset profile for most systems with the common settings so we don't have to touch it much. It's really different on what tv your using also.
Hi, there's anything I can di with bluetooth audio lag? Thanks!
My keyboard isn't working in Retroarch on my Shield. Any ideas?
Anyone know when RetroArch 1.7.2 might be released on retropie? It works great on my pc, can't wait to see how it will do on my retropie build.
Is it available for nes now ?