Closed miguedevel closed 4 months ago
I think your definition of "perfectly fine" is way too optimistic here. Anyway, you can bypass the restriction by enabling the "Bypass Core Info Save States Features" option inside RetroArch's Core submenu, but I'm not dealing with a feature that I know (currently) doesn't work correctly with SwanStation's JIT, so please close this PR.
OK so what you're saying it doesn't work when using recompiler mode but it works fine on interpreter mode? I even switched to recompiler mode now and seems to work fine. Is this bug only on specific platforms? Can you explain why I'm being too optimistic with saying that it works fine?
On systems that are easily capable of handling rewind with heavy cores like Beetle PSX and even Beetle Saturn , it rewinds SwanStation with such reduced performance that it causes noticable audio crackling and slow rewind speed (<40fps with JIT enabled vs a smooth 60fps with the interpreter, both with Rewind Frames set to 1).
As I've said before, people can bypass the restriction easily enough, but unless someone can assist in making sure rewind works allround with one of the key features of SwanStation (its JIT), I find it better to have it disabled as a precaution.
Yeah, it's easy enough to bypass the info/savestate lockouts, so we tend to err on the side of giving a good out-of-the-box experience. Otherwise, we get an endless stream of support requests because "rewind slow on swanstation. how fix?" etc.
These are my thoughts on this:
You make some reasonable arguments, for sure :)
From the support perspective, sure, we have a brief period of recalibration as people who used rewind with the core in the past are surprised about losing it, but once that transition period ends, we're done. OTOH, if we leave it in a state that's suboptimal on an ongoing basis, those support questions never end.
Savestate shenanigans are generally poor-performing when it comes to dynarecs. I believe upstream disables the dynarecs whenever they do runahead, so we would probably need some mechanism for doing the same thing for rewind.
Alright, at this point it's good to close this PR.
As I commented on libretro/libretro-super#1823 rewind works perfectly fine on the Swanstation core.