Deathsmiles on lr-mame2015 : Any performance tips?
-
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.
-
@pjft same here with 1080p. I think it's worth my time playing around and testing. I already found undesirable results going slightly above your settings for v3d_freq, so I wager you've already had fun trying to max this thing out.
-
Since the cpu overclock is gone in mame2015/2016, is there a way to show it? (I was messing with blitter delay, default is 50)
-
@Darksavior think I found it.
Enable Cheats in libretro Options, then restart. <--yes, this will enable Overclock CPU in MAME Tab Menu Slider ControlsTip: To update the overclock value more rapidly, hold Ctrl while moving left or right.
(and what shader are you using? those scanlines look perfect)
-
@roslof Thanks, that did it. Underclocking seems to help a bit. I'll do more testing later.
I use the crt-pi shader, then I modify it by setting both curvature settings to zero and increasing mask brightness to 1.00, the max. -
I've been following along with this thread, and underclocking the CPU in MAME definitely helps a lot for several games (though Ibara in particular still has some pretty bad slowdown/audio stuttering). Question though: Is there any way to get MAME to save the CPU underclock setting? Seems like every time I start a game I have to re-set the CPU clock again.
-
@SeraphisCain I'm guessing Overclock CPU settings cannot be saved:
https://www.reddit.com/r/MAME/comments/4i0cjp/can_you_save_overclock_cheat_settings/I know the thread I linked is old, but I haven't been able to find anything to the contrairy.
It kind of blows my mind a little. Things like "Beam Width" for vector games can't be saved either. :|
-
Can anyone suggest an optimal/recommended underclock seeing for these games, or will it depends on the game?
A question: what is the underclock actually meant to do? Will it make things slower than they were in the real cab?
Thanks.
-
@SeraphisCain I find Ibara a problem, and Pink Sweets even worse. I'm going to go and play with my settings and see if I can get DeathSmiles better, and maybe Muchi Muchi Pork!
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.