Maybe a solution for NES input lag.
-
A lot of this has to do with the refresh on your TV.
If it’s not set to “Game” mode and instead some other cinema preset, you can end up with some really noticable lag to the point where the games aren’t really all that playable.Make sure your problem isn’t that one.
-
games with (E)/(Europe) in filename are loaded as PAL (50Hz), and those with (U)/(USA)/(J)/(JAP)/etc, are NTSC (60Hz).
now, maybe quicknes ignores the filenames and loads everything up as 60Hz (speeds up the sound, etc).
but yeah, the other games will adjust the games speed accordingly. a 50Hz game will have ~17% more input lag than a the same game at 60Hz. welcome to the joys of NTSC gaming :/
it's generally better to just run the
PALNTSC version of a given game.Buuuuuuut! If I then instead play SMB3(U) on lr-quicknes, the sound is perfect and there is NO input lag!
i can't explain this, though. quicknes is less resource intensive but any NES emulator on a pi3 should be full speed. i suspect you have some different settings affecting things.
-
@neo-rio said in Maybe a solution for NES input lag.:
A lot of this has to do with the refresh on your TV.
If it’s not set to “Game” mode and instead some other cinema preset, you can end up with some really noticable lag to the point where the games aren’t really all that playable.Make sure your problem isn’t that one.
Never checked! I will see if I have the option to change this.
@dankcushions said in Maybe a solution for NES input lag.:
games with (E)/(Europe) in filename are loaded as PAL (50Hz), and those with (U)/(USA)/(J)/(JAP)/etc, are NTSC (60Hz).
now, maybe quicknes ignores the filenames and loads everything up as 60Hz (speeds up the sound, etc).
but yeah, the other games will adjust the games speed accordingly. a 50Hz game will have ~17% more input lag than a the same game at 60Hz. welcome to the joys of NTSC gaming :/
it's generally better to just run the PAL version of a given game.
Buuuuuuut! If I then instead play SMB3(U) on lr-quicknes, the sound is perfect and there is NO input lag!
i can't explain this, though. quicknes is less resource intensive but any NES emulator on a pi3 should be full speed. i suspect you have some different settings affecting things.
You say that the game runs better on NTSC but then say its better to run all games on the PAL version? Why? :)
Yeah this is what confuses me... Both PAL ant NTSC games runs at the same speed on all emulators. But on the two other emulators (fceumm and nestopia) PAL has some input lags and feel sluggish. But PAL games sounds speeded up on quicknes but NTSC games does not. So as for me now, it feels better to run NTSC games on quicknes.
About the settings. I have just downloaded the Retropie image from this website, installed it. Added a bluetooth controller. Added few games. Changed the skin to Mini nes theme. Fixed the overscan issue. That's it. It should't affect the input lag on the Nes emulators =/ All other systems seems to work fine. Both with PAL and NTSC games.
-
@lesk said in Maybe a solution for NES input lag.:
You say that the game runs better on NTSC but then say its better to run all games on the PAL version? Why? :)
sorry, brain fart. i've edited my post!
Yeah this is what confuses me... Both PAL ant NTSC games runs at the same speed on all emulators. But on the two other emulators (fceumm and nestopia) PAL has some input lags and feel sluggish.
that's correct emulation, more than likely. see https://gamefaqs.gamespot.com/boards/525245-super-mario-bros-3/72877567 - music pitch slowing OR speeding up, and game speed/animations slowing is normal for PAL games, compared to NTSC. there were a variety of ways developers approached the different display formats.
But PAL games sounds speeded up on quicknes but NTSC games does not. So as for me now, it feels better to run NTSC games on quicknes.
quicknes is probably being inaccurate here. i wouldn't use it under any circumstances on a pi3. this 'better feeling' might not be accurate.
About the settings. I have just downloaded the Retropie image from this website, installed it. Added a bluetooth controller. Added few games. Changed the skin to Mini nes theme. Fixed the overscan issue. That's it. It should't affect the input lag on the Nes emulators =/ All other systems seems to work fine. Both with PAL and NTSC games.
i dunno, all i can say is NES NTSC is working full speed for me on fceumm/nestopia.
-
@dankcushions said in Maybe a solution for NES input lag.:
Yeah this is what confuses me... Both PAL ant NTSC games runs at the same speed on all emulators. But on the two other emulators (fceumm and nestopia) PAL has some input lags and feel sluggish.
that's correct emulation, more than likely. see https://gamefaqs.gamespot.com/boards/525245-super-mario-bros-3/72877567 - music pitch slowing OR speeding up, and game speed/animations slowing is normal for PAL games, compared to NTSC. there were a variety of ways developers approached the different display formats.
Dang, I mean. Both PAL and NTSC feel sluggish and feels like it have input lags on fceumm and nestopia. But on quicknes NTSC has no input lag and no weird up speeded music.
i dunno, all i can say is NES NTSC is working full speed for me on fceumm/nestopia.
Maybe I should try doing a clean install again and just try NTSC. Loosing my mind a lil over this lol xD
Have you done any settings for fceumm or nestopia? All Ive done is change overscan issue. Can you post a screenshot/pic of what your settings looks like? The one you see if you press A when launching a game? (You prob know what its called ^^)
And also, do you use a wired or bluetooth controller?
-
@lesk i run defaults and use a wired controller.
-
@dankcushions said in Maybe a solution for NES input lag.:
@lesk i run defaults and use a wired controller.
So after a couple of hours(yikes!) of testing. This is what I found.
Quick answer: lr-nestopia with NTSC version works best. At least that what I think when using 8bitdo snes controller.I installed a fresh installation from Retropie website. Booted it up, added my Bluetooth 8bitdo controller. Set up the wifi and added both Super mario bros 3 on PAL and NTSC.
Tried using lr-fecumm, lr-nestopia and lr-quicknes.
As you said @dankcushions the PAL version felt sluggish on all emulators except quicknes, but that ran way to fast.
NTSC felt better, but a lil more sluggish on lr-fecumm. However it played pretty much normal on both nestopia and quicknes.
But after your comments I will stick with nestopia from now on.So I will get rid of ny PAL library and instead get NTSC versions of the games.
Thank you so much for the help. I hope this also help someone else that find themselves in my position ^^
Btw, I did NOT try with a wired controller. So don't know if that will give you another result.
-
@lesk Did you try enabling the read-ahead feature in retroarch? Try 2.
-
@darksavior said in Maybe a solution for NES input lag.:
@lesk Did you try enabling the read-ahead feature in retroarch? Try 2.
I did not. What is the read-ahead feature? ^^ Where and how do I enabling that, and what does that do? xD
-
@darksavior said in Maybe a solution for NES input lag.:
Try 2.
Actually, a setting of 2 will discard one frame too many in most games and can potentially lead to adverse effects. When not testing the games individually for the proper number, setting of 1 is the only safe option. With the exception of Atari 2600 games, which have no inherent latency, all others will have at least one frame.
-
@lesk said in Maybe a solution for NES input lag.:
Where and how do I enabling that, and what does that do?
The Run-ahead feature gives you the option of removing inherent frames of latency that are built in to every game past the Atari 2600. Each game can have different amount, but as mentioned above, there will always be at least one frame. Removing more frames than what is required can lead to visual and game play anomalies, such as a 'Game Over' screen appearing for as little as one frame when you haven't died. Even when anomalies aren't noticed, the timing of the game's progression is being changed to be more forgiving, making it similar to cheating with a Game Genie code. If you're looking to enable it just for the NES, you can add the following lines to
/opt/retropie/configs/nes/retroarch.cfg
above the #include line.run_ahead_enabled = "true" run_ahead_frames = "1" run_ahead_secondary_instance = "true"
-
@mediamogul I've only noticed a jittery poor experience past 2 but yea 1 is safe. People thought I was crazy and they're setting it to 4 or 5.
-
Somewhat frustrating is that a few games even have a varying amount of latency throughout different parts, making any setting inadequate. There's so many opportunities for error that I'm actually a little on the fence as to whether or not this should have been included as a feature at all. If nothing else, I personally think it should be automatically deactivated for the hardcore RetroAchievements, due to the capacity it has to be used as a cheating tool. Still, there's no denying it's a very impressive idea and what it's doing behind the scenes is an amazing feat of execution.
-
@mediamogul said in Maybe a solution for NES input lag.:
@lesk said in Maybe a solution for NES input lag.:
Where and how do I enabling that, and what does that do?
The Run-ahead feature gives you the option of removing inherent frames of latency that are built in to every game past the Atari 2600. Each game can have different amount, but as mentioned above, there will always be at least one frame. Removing more frames than what is required can lead to visual and game play anomalies, such as a 'Game Over' screen appearing for as little as one frame when you haven't died. Even when anomalies aren't noticed, the timing of the game's progression is being changed to be more forgiving, making it similar to cheating with a Game Genie code. If you're looking to enable it just for the NES, you can add the following lines to
/opt/retropie/configs/nes/retroarch.cfg
above the #include line.run_ahead_enabled = "true" run_ahead_frames = "1" run_ahead_secondary_instance = "true"
Thank you for the information! I'll try this when I get back from work, and only use run_ahead_frames = "1" instead of 2 ^^
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.