Closed Ryunam closed 3 years ago
Thanks to the help of @bslenul, I think I have narrowed down this issue to the following points:
What made it confusing at first is that the fastforward option that is not working with RunAhead is not the hotkey in RA (which is assigned by default to the spacebar). It is the internal core fastforward command that is not working, the one that is tied to the R2 trigger in the RetroPad. I did not even know that there was an internal fastforward option in the core and I had both my RA fastforward hotkey and the core fastforward set to the R2 trigger on my controller, so it seems that when you do that the core fastforward is taking precedence over the RA hotkey.
So to recap, when RunAhead is active, pressing R2 to use the core-specific fastforward command does not seem to do anything and if you have the fastforward hotkey in RetroArch set to R2 as well, you cannot use fastfoward at all.
Disabling RunAhead OR going into Quick Menu -> Controls and remapping the R2 trigger to any other command (if you have R2 set to both the hotkey in RetroArch and the core-specific fastforward) allows fastforward to work again using the RA hotkey.
First "bad" commit that introduced this issue for me seems to be 1faa9f2bcbdfbd7f4504ef43595407d56aa8fb5e by @jdgleaver, which is in fact the one that implemented the internal RetroPad fastforward button.
@Ryunam Thank you for reporting this!
It was a real head scratcher, but here's the fix: https://github.com/libretro/RetroArch/pull/12828
Note that the in-core fastforward key still overrides the usual frontend hotkey setting, since that's the way the RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE
callback has to work... I hope that's not too awkward....
Perfect, thank you as usual for fixing this so quickly! I also now understand how the override callback works a bit more clearly, so that is totally fine.
There seems to be a performance regression related to fastforward, when using the latest gambatte libretro core for Windows 10 x64 with RunAhead set to ON.
If RunAhead is active (either with just one instance or with a second instance), the fastforward feature in RA will:
I have not performed a bisect yet, but I do have an older version of the core lying around and dating back to 2020 and I can observe a clear difference between the two builds. I am attaching the two files here for a quick comparison:
gambatte_libretro (latest from buildbot).zip gambatte_libretro (build from 23-10-2020).zip