Retroarch 1.7.5 causing FPS drops for CPS 3 games
-
@RedBatman A new version is available. Is the issue still there ?
-
I retested using lr-fbalpha 2.97.44 from source. No change. To compare the differences to .42, using my pi3b+ overclocked to 1450, it runs as fast as a stock pi3 non + used to run at which is 60fps most of the time with dips of ~59.5-.7.
-
Ok, i didn't know about the speed regression. There was indeed a huge CPS3 patch a few weeks ago to fix some bugs (it was mostly for jojoba actually, until very recently the combo meter in this game wasn't working properly in any emulator, see https://mamedev.emulab.it/haze/2018/10/02/little-changes-part-2/ for the news). I'll look if something can be done about it, however i won't revert a fixed code to a buggy code, as far as i understand this bug is not even happening if you own a rpi3b+ or if you overclock your rpi3...
-
Pi3b nonplus at 1300 with SF3:
.44 from source using default compile: Supers drop to ~58.x fps.
.44 from source using altered compile settings: Supers drop to ~59.xfps.I believe this is the part that helps but I'll post the patches link for
system.sh
. I basically added all the green text and removed the red text. I replaced -O2 with -O3. YMMV. Supposedly -O3 " there's known issues in GCC 6.3.0 with some of the optimizations it enables."
+ __default_cflags="-O3 -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations -funroll-loops -funswitch-loops"
https://gist.github.com/GrieverV/b3d1a8e2c23c295b802f9e33286437c6
-
@Darksavior except if retropie build script is totally ignoring my fbalpha makefile, i think the relevant part in what you wrote is
-funroll-loops -funswitch-loops
:-ftree-vectorize
is included in-O3
, which is the fbalpha default- afaik
-funsafe-math-optimizations
should only have an impact on games using a lot of arythmetic function, it shouldn't be the case for cps3 (on a sidenote, raiden2 uses them a lot)
Thanks for the information, i'll do some tests and if those flags are interesting speed-wise, i'll add them to default fbalpha cflags.
Edit : actually
-funswitch-loops
is also part of-O3
, meaning only-funroll-loops
is relevant.
Edit2 : i've been thinking for some time that this change is the culprit, so having a speedup with-funroll-loops
makes a lot of sense actually. -
Do you guys have rewind disabled for cps3 ? While it was kinda ok to let it enabled previously, recent updates won't allow it anymore speedwise.
-
@barbudreadmon It's disabled by default so it's not enabled for me.
-
@Darksavior
-funroll-loops
is now part of the fbalpha makefile. -
@Darksavior Another commit was applied to the fbalpha cps3 codebase today, it appears part of the jojoba combo meter fix could be optimized. Let me know if the slowdowns still happen.
-
@barbudreadmon No real change on the pi3b nonplus at 1300. SF3 dips to 59.x most of the time especially when doing a super. Funny, fba2012 isn't a stable 60fps either but it dips a lot less. Maybe this is the best it can be. Not even my pi3b+ at 1450 gets a stable 60fps in lr-fbalpha.
-
@Darksavior cps3 refresh rate is actually
59.583393
(see http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=sfiii&lang=en), so not having a stable 60fps is actually normal behavior. -
@barbudreadmon That explains it. So at this point I just want no static, so I connected it to my main 4k tv at 1080p with audio instead of the 1440x900 monitor to test. Supers still get static and in one instance had a drop to 58fps but fba2012 is way more stable in the fps and no severe slowdowns when doing supers. As long as people have a viable alternative I'd consider this "done".
Pi3b at 1300 users should use 2012. Pi3b+ users are fine.
-
@Darksavior said in Retroarch 1.7.5 causing FPS drops for CPS 3 games:
@barbudreadmon That explains it. So at this point I just want no static, so I connected it to my main 4k tv at 1080p with audio instead of the 1440x900 monitor to test. Supers still get static and in one instance had a drop to 58fps but fba2012 is way more stable in the fps and no severe slowdowns when doing supers. As long as people have a viable alternative I'd consider this "done".
Pi3b at 1300 users should use 2012. Pi3b+ users are fine.
Yeah I myself tried the binary update and while it was a little better there was still noticeable audio lag, especially in Street Fighter 3 2nd Impact.
-
check your deviation from ra youll need logging on
[INFO] Saved core options file to "C:\msys64\usr\local\bin\retroarch-core-options.cfg"
[INFO] [Video]: Average monitor Hz: 60.006001 Hz. (1.540 % frame time deviation, based on 2048 last samples).
[INFO] [Video]: Average monitor Hz: 60.006001 Hz. (1.540 % frame time deviation, based on 2048 last samples).see if its a sound/video sync issue i dont have the romset from fba but it could be this as well
-
@RedBatman did you end up confirming whether the latest code addresses the issue? I've been wanting to update lr-fbalpha but have held off since you opened this.
-
@pjft There were some improvement speedwise, however it appears there are some slowdowns depending on your overclocking. It might be 100% ok on retropie at 1350mhz, i can't confirm since i don't use retropie (i'm using a highly customized linux and not debian-based setup) and it's running fine on mine at a lower frequency.
Anyway i don't intend to look more into this, because you already have several option to solve this if you don't want to stay forever at an older commit :
- using a higher overclocking value (1350 might be ok).
- using a frameskip of 1 in core options would most likely solve this issue
- a rpi3b+ is only 35$ and it has been reported to solve the issue.
- using an old core for those games (fba2012 ?), however you won't benefit from the fixes to the cps3 driver (jojoba combo meter and some graphical glitches due to tile priority issues)
-
@barbudreadmon by all means, that sounds fair. I have a 3B+, but it wasn't clear to me whether it would be working fine there.
I'll test it out when I'm back. I was mostly considering upgrading as I noticed that the high scores for Mars Matrix weren't saving in the build I was running. PGM bios, I think.
Thanks for the good work.
-
@pjft said in Retroarch 1.7.5 causing FPS drops for CPS 3 games:
I noticed that the high scores for Mars Matrix weren't saving in the build I was running
Might be an old build or a missing entry in your hiscore.dat then. That's a cps2 game and hiscores should work in cps2 games (i added hiscore support to cps1/cps2 in june 2018).
Also, be careful about romsets after updating : https://retropie.org.uk/forum/topic/19741/new-fb-alpha-libretro-pre-v0-2-97-44
-
@barbudreadmon Sounds great. I'll look into it when I'm back - traveling for work this week.
Many thanks, and keep up the great work!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.