Deathsmiles on lr-mame2015 : Any performance tips?
-
@Darksavior well, the youtube video is titled "Retroarch Mame2015 core (cpu 38 %)", the op on fbneo's forum also mentions that the mame2014 core doesn't show the numbers on the underclocking bar while the mame2015 core does, so my guess is that it's clearly possible to downclock cpu on mame2015
-
Listed in MAME 2015 Slider Menu as "Overclock CPU maincpu". Can lower. In the screenshot, don't let the 56.15 fool you. I had just exited the static screens when I took the shot. Gameplay is about 40-45FPS depending on scene (Pi4B OC 2,000 CPU/ 750 GPU).
Using MAME 2015 (0.160 e1362ea)
-
@roslof Fairly sure that option isn't in whichever version I am running...
-
@AdamBeGood my version was installed via RetroPie binary in April after RetroPie 4.6 was released.
Still, the performance boost noted in the video (for Android) isn't as great on the Pi4B. Might not be worth investing much time.
-
I just tried the game on my odroid n2 with lr-mame2016 (yes, 2016, i don't have 2015 on my setup), the option is there (tab menu > slider controls), and the game runs at full speed with some ~59fps slowdown (i'm not hearing any stutter though) after setting the cpu to 38%. I guess even after overclocking the pi4 to 2Ghz, there might still be a big gap with odroid n2's a73@1.8Ghz cpu
-
Imo(!): i wait for the Pi5 for this game (and other roms that still are not well playable).
-
@barbudreadmon This is so weird. My lr-mame2016 would have been installed after April - in late May I think. I don't have that option in that core either.
-
@roslof I don't have that "overclock cpu" option. I tried the prebuilt binary and from source that was built right now.
-
This is a topic I can get behind. I haven't tried these settings yet, may do it in the coming days.
I have my Pi overclocked with
over_voltage=6 h264_freq=750 isp_freq=750 v3d_freq=830 hdmi_enable_4kp60=1 arm_freq=2050
and Deathsmiles is the one that works the "least badly" of the Cave shooters from that batch. It isn't choppy, but the audio does crackle every now and then. It is not in any way full-speed, though, but yes, I'd get around 52-57 fps from memory - need to reconfirm. It will depend on the amount of things on screen - playing Deathsmiles Black Label with... Rosa, I think (?) will just slow down to a crawl.
I will try some of these and may report back if I find anything. I did try reducing the resolution but no luck there.
-
@AdamBeGood I run it on lr-mame2016, VSync ON, Swap Interval 1, Frame Delay 0, Max Swapchains 3 and G-Sync ON, with that overclock.
In-game FPS hovers between 55 and 59 in the vast majority of cases. I played the first 3.5 levels (well, A-1, A-2, B-1 and then B-2 where I died) with Windia right now, and the only times I had a meaningful drop were in the level selection map when you choose the level (it goes to 44 fps), and in the second level boss (B-1 the buried head in the graveyard) there was a point when his health was around 60% that something happened that caused a lot of things (rocks and bullets?) to come on screen for a moment. There were 5 seconds or so then that the FPS went to 30 FPS. In the third-level boss (B-1) it also slowed down when it shot a massive... head from inside it? The third-level overall (B-1) was a lot more hectic and even though I was not showing the FPS at this stage, I did feel it slightly choppier so it might have been that in this case it was closer to 55 than more.
I was refreshing FPS every 80 frames or so (the default 256 is too long for real-time measurement). That being said, I did not try @barbudreadmon 's suggestions yet (I have no keyboard here right now), and this will be susceptible to the amount of things on screen, but this was pretty playable.
Running on lr-mame2016 with verbose logging (lr-mame2015 I believe crashes before this log is created) I get the following section:
[INFO] [KMS]: New FB: 1920x1080 (stride: 7680). [INFO] [KMS]: New FB: 1920x1080 (stride: 7680). [INFO] [Cheats]: Save game-specific cheatfile: /home/pi/.config/retroarch/cheats/MAME 2016/deathsml.cht [INFO] Content ran for a total of: 00 hours, 09 minutes, 17 seconds. [INFO] Unloading game.. [INFO] Unloading core.. [libretro INFO] OSD exit called [INFO] Unloading core symbols.. [INFO] [Core Options]: Saved core options file to "/opt/retropie/configs/all/retroarch-core-options.cfg" [INFO] Threaded video stats: Frames pushed: 34631, Frames dropped: 1. MAIN FIRST w:320 h:240 a:1.333333 RETRO DEINIT retro_finish begin Average speed: 90.96% (556 seconds)
Which does suggest that overall it was at around 90% speed - 54/55 for the most part. Not perfect, but playable enough for me.
Dodonpachi Dai-Fukkatsu is worse, and Ibara/Muchi-Muchi Pork are just too slow, around 40 FPS in-game for the most part, if I recall correctly.
Granted, others may be more sensitive to these than I am, but thought I'd share.
-
@pjft this is very useful information.
I can say with certainty, without changing anything other than moving from lr-MAME 2015 to lr-MAME 2016 (0.174) the performance of DeathSmiles is GREATLY improved (exactly how you described).
Otherwise, the overclock settings and Retroarch settings did not have a profound impact for me for either version.
In short, there are some obvious optimizations in MAME 2016 that are worth grabbing for DeathSmiles.
-
It also appears that @barbudreadmon 's discovery was right (and for the Pi4 works well with MAME 2016). Lowering Slider Control "Overclock CPU :maincpu from default to 42% gets me between 58-60fps for the vast majority of the first world. The intro sequence with the kids no longer stutters either.
Now we just need to figure out why some folks don't have that slider control option.
-
@roslof I've been so impressed with this forum so far, I am sure you can work it out! Annoyed that I am in the "no-slider option" group.
-
note the slider is in the TAB MAME ui, not the retroarch UI.
-
@pjft I don't have h264_freq or isp_freq set in my overclock settings... Do they make a difference?
-
@AdamBeGood said in Deathsmiles on lr-mame2015 : Any performance tips?:
@pjft I don't have h264_freq or isp_freq set in my overclock settings... Do they make a difference?
Good question. I'm always trying to avoid being GPU-bound...
Take this with a grain of salt. This needs verification, and I want to avoid the "bad information is worse than no information" trap.
Two things I had "heard" from older messages in the Raspberry Pi forum from folks working on the kernel back in 2019:
- You could not overclock GPU settings above 750 (this may be wrong)
- Individual settings are no longer supported. gpu_freq should be used (this may be wrong)
To compare @pjft 's GPU-related settings:
h264_freq=750
isp_freq=750
v3d_freq=830vs. mine
gpu_freq=750Not noticing an immediate difference (which suggests that number 2 is indeed incorrect), but if we could truly squeeze more than 750 out of v3d_freq, there could be some % wins for 3D games.
-
This looks freshly updated:
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md -
@roslof correct. The main thing I seem to get from the explicit v3d overclock is on Saturn and Dreamcast emulation, I believe. The clock frequency does change, at least you can measure it via the command line and it reports the new value.
-
@pjft Brilliant. I get to play w/overclock settings again! (yay and boo)
-
@roslof to be clear, and it might be just a placebo effect (I posted another thread on that) I'm using the 4k_60 option deliberately to (attempt to?) force the clock to be 10% higher.
Unsure if it actually does anything but thought I'd mention it. I'm on 1080p resolutions and screen.
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.