Hm, interesting -- I don't think the emulator code should affect internal FPS, except for stuff like speed hacks and clock speed. I wonder if the same thing happens in older builds, or on other platforms like PC or Switch.
From my experience though the 2002 core has a lot of graphical bugs even though speed-wise it's definitely better than the other cores for sure. I'm banking on improvements for the 2005 core since it has less graphical bugs (to a tolerable level) and very good speed. 2005+'s graphical fidelity is more decent but the speed is way too slow and I don't see this could be improved in the near future.SNES9x2002 I think.
I'm not sure whether you've read my posts regarding MGS performance or whether you already know what I've said in those post, but I've found out that MGS is one of the few games I've tried that actually benefits from overclocking. You might find that when clockspeed is set at 55 or 60 in-game segments no longer feel like "running through syrup," and the game becomes very playable. On the contrary though cutscenes seem to benefit from underclocking, for example the opening submarine sequence runs almost too good at 31-35. Granted I've not gone too far in the game (maybe 30 mins in) but I think now I can really play MGS if I want to, I'd just have to bear the slowdowns during cutscenes that's all.@justinweiss
Since you are busy redefining what we can do with Retroarch I thought I’d ask: any idea why Metal Gear Solid is now reported as a rock solid 59.9 FPS in Retroarch but still runs poorly? The in-game FPS seems closer to 18 or so. I’m guessing the original ran closer to 30. Seems like the emulator is running full speed but the game isn’t.....if that makes any sense.
the latest experimental build sure does bring with it a lot of arm11 crashes (when changing games, and also occassionally when loading save states or exiting the app), which is understandable. Plus in the last nightly I tried (from 09/13 I think) also ran less stable already (again when changing games), so I won't go into this further.
What I've noticed with the latest experimental build is now the fps counter has the tendency to go above the supposedly locked 50/60 fps in some places (by about 2-5 frames).
Looking at the mgba source gave me an idea, so here's a pcsx core with a threaded renderer. You can toggle it under advanced unai settings, it's off by default.
This is very experimental and certainly has bugs, but it seemed worth a try.
@justinweiss Should this be enabled at the same time as Threaded DSP? I’m not seeing any performance differences yet TBH. I haven’t done a scientific test or anything, but just having loaded up a few of the regular suspects, I’m seeing performance comparable to the builds that you posted last week.
Thanks. I definitely see the difference in a few games now. Crash 3 runs excellent apart from stuttering while loading a new level.It should be fine to have them enabled at the same time. I've been using the beach at the beginning of Crash 1 as my go-to test and this added 5-7 fps to it. But a few of my other test cases show only about a 0.5-1fps improvement. It depends a lot on how the game uses the GPU, and how often it needs to sync.
The setting doesn't require a restart, so you can toggle it off and on and see if you notice a difference.
@justinweiss Should this be enabled at the same time as Threaded DSP? I’m not seeing any performance differences yet TBH. I haven’t done a scientific test or anything, but just having loaded up a few of the regular suspects, I’m seeing performance comparable to the builds that you posted last week.
Thanks, but now I’m interested in this experimental CD code. What other black magic do you have up your sleeves?I removed the flaky experimental CD code that I forgot was in there and was causing crashes earlier. Here's a newer build:
That would be amazing.It was a test I did to see if I could get rid of some of the initial CD read hiccups by sending the request to read a sector as soon as I knew which sector it was going to try to read, instead of sending the request the instant before it needed the actual data. Trying to spread out the time between when it started reading the data and when it needed the data. The numbers turned out better but it didn't feel as good while playing. I also forgot it was in there and hadn't handled all the different configs people might have. So I set it aside for now, might come back to it later if I have any better ideas.
I believe the roms have to be put in root of the sd card.Good job with the PCSX I've been able to test some .pbp and their performance is amazing.
Anybody has a working fbneo core? I've tried many and none of them works. I get crashes doesn't matter the rom, all of the crashes. I've tried them in Windows with latest stable and latest nightly and they work without problems.
How is this compared to before? I'm gonna check out DKC3 at some point. It used to stutter quite a bit in 2005 or 2005+ iirc.Spent some time today testing JustinWeiss builds with the SNES9X2005 and Mednafen-PCE (with TurboCD games) cores. Both ran fantastic (full speed no stutters) with threaded audio enabled. Yoshi’s Island remains a problem child ... but what else is new.
If you're running with the RetroArch threaded video setting on, it can drop frames and I don't think that will affect the overlay FPS counter. It is less likely to drop frames if vsync is on, but it will stutter more instead. There's a lot running on the background thread now (RA threaded video, dsp_thread, RA job processing, autosave, async CD access, PCSX threaded rendering, PCSX threaded SPU, etc.), so it may be more likely than it was before. Does it still happen if you have threaded video off? That's the only thing I can think of.
@justinweiss
Just to follow up: disabling the dsp thread drastically improves in game performance in MGS. As I said before, the weird thing is that with dsp thread enabled the emulator reports a rock solid 59.9 FPS but the game play still suffers.
Plays really well with threaded gpu enabled Tho. Will try and play a few hours tonight and see if performance holds up.