• mozingo@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 months ago

    Sorry, that’s almost it but they don’t emulate hundreds or thousands of frames, you’re right in thinking that would be implausible. Basically what happens is retroarch makes a savestate every frame and keeps a running list of the last few. When you press a button, retroarch will load one of those states from a few frames ago, press the same button then, then disable video and re-emulate those “rewound” few frames in fast forward. Then once it’s caught up to the present it re-enable video rendering. The end result is that you see the effect of your input happening the frame after you press it, instead of the normal input delay of 2 or more frames. It’s pretty neat. But yea, this means that they’re only emulating an extra 3-5 frames or so not hundreds, and they only have to do it when you press a button, not all the time.