BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
If the emulator is paused while you're holding down the rewind key, the rewind performance is much worse. (If anything, I would expect pausing to slightly improve the performance.) This in particular happens if you're TASing something with frame advance and rewind without first unpausing the emulator.
Repro
Download a fresh copy of Bizhawk 2.7
File > Rom..., Open a vanilla Super Mario World rom.
Let the emulator run for 1k frames to fill the rewind buffer. (You can fast-forward to speed this up if you want.)
Press and hold shift + R + Tab to fast-forward rewind. Note the FPS that you get (in my case 235, close to the cap of 240)
Let the emulator run for 1k frames to fill the rewind buffer. (You can fast-forward to speed this up if you want.)
Pause the emulator.
Press and hold shift + R + Tab to fast-forward rewind. Note that the FPS is much lower now (in my case 67) and the rewound game play looks much slower (so it's not just a bug with the fps counter).
Also happens on the BSNES core (might make it easier to see if you're hitting the cap of 240 fps on the snes9x core). There I'm getting 89 fps without pausing and 46 fps with pausing. In particular, this has has effect even without fast-forward here.
Also happens with delta compression (might make it easier to see as you can rewind for 37k frames, not just 1.3k).
Consider 007442773a35c213257f8462b2b948bdddefe5fa a proper pull request that was reviewed and rejected because the author failed to fix the bugs introduced by the fix.
Summary
If the emulator is paused while you're holding down the rewind key, the rewind performance is much worse. (If anything, I would expect pausing to slightly improve the performance.) This in particular happens if you're TASing something with frame advance and rewind without first unpausing the emulator.
Repro
shift + R + Tab
to fast-forward rewind. Note the FPS that you get (in my case 235, close to the cap of 240)shift + R + Tab
to fast-forward rewind. Note that the FPS is much lower now (in my case 67) and the rewound game play looks much slower (so it's not just a bug with the fps counter).Also happens on the BSNES core (might make it easier to see if you're hitting the cap of 240 fps on the snes9x core). There I'm getting 89 fps without pausing and 46 fps with pausing. In particular, this has has effect even without fast-forward here.
Also happens with delta compression (might make it easier to see as you can rewind for 37k frames, not just 1.3k).
Host env.