Question How well does RetroArch's 'run-ahead' feature reduce latency with NES emulation on the Switch?

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by Meteor7, Sep 21, 2018.

  1. Meteor7

    Meteor7 Guess where this thumb goes.

    pip Contributor
    Jun 9, 2014
    United States
    a fit of spasms and accidental black magic
    RetroArch has a feature to reduce latency called 'run-ahead' which pre-emulates a set amount of frames ahead, and displays the frame corresponding to the button you press when you press it. As someone without a hacked Switch, I'm curious of how well the function has worked for reducing latency on NES titles in particular, but also for any emulation in general. Specifically, how low can the latency get? Has anyone taken any rough measurements? Does it adversely affect performance in some way? Does it introduce glitches or instability? Does it set your Switch on fire? Does it make all your dreams come true and dispense candy? All of the above? The reason I ask is because I'm curious to know whether one can achieve a lower latency on NES titles through RetroArch on Switch than through Nintendo's emulation given as part of their subscription service, and if it can, then what sort of trade-offs might be part of the deal. I'm also curious to hear any observations or opinions regarding how well the Switch version of RetroArch functions in general. Aaaand I suppose that's all, have a good day. Or don't. I'm not your mommy. ...probably.
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United Kingdom
    Not played with this one but is it a noticeable problem?

    I had a (PAL) NES on a CRT back in my formative years. Can notice problems with games on crappy LCD TVs and/or bad controllers/controller paths. Never particularly had a problem with latency for anything being emulated on a dedicated game playing device though. If it is going to be a problem then I would have to have a look at the quality of the emulation rather than looking to tricks to try to negate such problems.
  3. notimp

    notimp GBAtemp Advanced Maniac

    Sep 18, 2007
    Not at all. I'd imagine. Run ahead is very CPU intensive - and mostly only available/enabled on PC builds of retroarch. Please correct me if I'm wrong, but I'd imagine, that it would not be active on the switch at all.

    Also - its mainly retroarchs attempt to combat the notion that they havent cared about latency for the better part of their existence (It kind of comes with the "we work on your toothbrush and your smartoven as well" territory.. ;) ).

    Run-ahead is buggy on many games as well and probably shouldnt have been released as a non-experimental feature, but then everyone started talking, about how much better Nintendos own SNES emulator was in terms of latency at one point - and for ARM devices, they were right. So as far as I'm concerned, run ahead is more of a marketing effort/interesting conceptual feature, than anything else. (Because it doubles or quadruples your CPU load, and causes issues on many games.)

    Also - yes, retroarch without run-ahead is notoriously input laggy - on ARM that is.

    My go ahead test for this is quickrolling on reaction on Tekken 3 but as it doesnt run fullspeed on the Switch yet - I cant test it yet. :)

    Sadly I've no built in "timings memories" for SNES games (f.e.). :)
    Last edited by notimp, Sep 21, 2018
  4. denis978

    denis978 Member

    Sep 21, 2018
    Last edited by denis978, Sep 21, 2018
  5. Meteor7

    Meteor7 Guess where this thumb goes.

    pip Contributor
    Jun 9, 2014
    United States
    a fit of spasms and accidental black magic
    It is most certainly very CPU intensive, which is why I was curious just how far it could be pushed. According to this, though, it seems like they do have run-ahead implemented on Switch, though I haven't been able to confirm myself, of course.

    I'm actually quite grateful we've got the feature already, even if it is indeed a big buggy. While I haven't tested the PC build with many games other than Super Mario World, the run-ahead feature drops latency low enough and with enough stability to make Kaizos fun, and that's quite the boon for me. Besides, I'm rather giddy just being able to see input lag being countered so hard, even if it's less than perfect so far. I'm excited to see more stable implementation in the future. ^_^

    Mm, yeah, I'd imagine many PS1 games wouldn't be full-speed yet. C'est la vie.