Deathsmiles on lr-mame2015 : Any performance tips?
-
To close off this thread - at least until there are more recommendations for actual underclock settings, here are the results of my testing on DoDonPachi Dai-Fukkatsu and Deathsmiles.
I tested running two loops of their attract mode for both, and here are the results:
Deathsmiles -------- Overclock set to 100%: [INFO] Threaded video stats: Frames pushed: 14467, Frames dropped: 0. Average speed: 96.09% (240 seconds) Overclock set to 42%: [INFO] Threaded video stats: Frames pushed: 15256, Frames dropped: 0. Average speed: 99.63% (253 seconds) ----------- DDPDFK Overclock set to 100%: [INFO] Threaded video stats: Frames pushed: 13376, Frames dropped: 0. Average speed: 94.03% (222 seconds) [INFO] Threaded video stats: Frames pushed: 13398, Frames dropped: 0. Average speed: 94.42% (222 seconds) Overclock set to 40%: [INFO] Threaded video stats: Frames pushed: 14502, Frames dropped: 0. Average speed: 98.18% (241 seconds) Overclock set to 37%: [INFO] Threaded video stats: Frames pushed: 14837, Frames dropped: 0. Average speed: 98.64% (246 seconds) [INFO] Threaded video stats: Frames pushed: 14827, Frames dropped: 0. Average speed: 98.59% (246 seconds)
So, overall, the underclocked runs do seem to have a higher average speed (as expected, but also helps confirm that the changes are doing something, as well as that the underclocked version takes longer (human time) to get to the same place in the emulation - Deathsmiles averages 99.6% speed at 42% Overclock (vs 96.1% at the original clock speed), but takes 13 seconds longer to run the two attract mode loops. DoDonPachi Dai-Fukkatsu takes 24 more seconds, and averages 98.6% speed at 37% Overclock (up from ~94.2% at the original clock speed).
Have fun.
-
-
@pjft Did you mess with blitter delay and see if that does anything? I stumbled onto old posts that it might, but I don't know what combo to use with the underclocking of the cpu.
-
@Darksavior I didn't this time around. I had tried it a few months back I believe, but for some reason never found anything that was truly deterministic in the few places I found those references. I might just have had bad luck, though, so if you can get something out of blitter delay let me know, would love to get some of these working even better.
I think I might have gone for Ibara and since the performance was already terrible I didn't feel much of a change, but I don't remember.
Edit: can you confirm what your Blitter delay is set to, by the way?
-
@pjft The default blitter delay is 50%. I haven't tried testing different combos.
-
First non-Cave game I played with:
1 on 1 Government (odd basketball Game)
On OC Pi4B 2000C/750G. Default ~50FPS
Set Main CPU Overclock to 55: New 60FPSNo perceived degradation in gameplay speed.
Winning. -
@roslof said in Deathsmiles on lr-mame2015 : Any performance tips?:
No perceived degradation in gameplay speed.
There are tons of games that'll benefit from underclocking without ruining gameplay, the reason being that the game doesn't make full use of the cpu in the first place. The same applies to FBNeo's cpu clock core option.
-
@Darksavior Thanks. So is mine. Just checking whether it would have saved that option from previous testing attempts.
-
@roslof Absolutely loving this game! Didn't know about it until you mentioned it. Proper strange, but I'm enjoying it. The setting really affect it, 55 seems about right.
Anyone - feel free to mention any other games this fix helps.
-
@AdamBeGood Can the underclock setting be saved now?
-
@ecto Yep, if you install lr-mame2016 again from Source, then the option is there under Quick Menu->Options and it can be saved.
-
Going back to what originally sparked this, me messing about with my latency settings; could someone let me know what the default settings are please?
If I try and set my Configuration to default then RetroArch freezes and I have to turn the Pi off and on.
That is on the assumption that the default Latency settings are what I should have set up, any other variables I would be happy to run with if they work better. However, I'm sure what I've currently got set isn't the optimum config.
-
@AdamBeGood I believe these are default (could verify by renaming the retroarch.cfg file and re-running RetroArch to rebuild it... all of it), but I think these are the default settings:
Max swapchain images 3
Hard CPU Sync OFF/Disabled
Frame Delay 0
Audio Latency (ms) 64
Poll Type Behavior Early
Run-Ahead to Reduce Latency OFF/DisabledI've been running with these values for months. No issues.
Recommendation: If you continue to crash, check overclock settings (comment them out and see if you're stable).
-
@roslof Superb, I'll bring mine back to those values tomorrow then.
Would overclock affect the system crashing when I select to change settings to Default? It crashes every time, I've tried it a handful of times. I have no instability at any other times.
-
@AdamBeGood what is your method of changing default settings?
-
@roslof and others,
If you would be so kind as to test this over lr-mame, it'd be very much appreciated. I tried to port the code to lr-mame which was mostly similar, though a few tweaks were needed as some public members of some classes in 2016 no longer existed in the latest code:
https://mega.nz/file/UZtH3KaL#3vZNKoR8IMbo4aSdCIaLDPbs3vrXSMLuPktuRKBkr6c
https://drive.google.com/file/d/1arGrZmKZb8TLag20UbKCAQKHt81ZkOgY/view?usp=sharing
Same kind of tests would help - changing the setting, confirming it actually changes it on MAME, and testing other games you run on lr-mame to confirm that nothing actually breaks.
I tested Deathsmiles and it seems to work well.
- at 100%, it runs at average speed: 66.54% (135 seconds)
- at 42% runs at average speed: 70.95% (146 seconds)
I tested pacman as well and it didn't crash, so that's success for me.
If this gets its tires kicked and nothing breaks, I'll happily submit this upstream.
Many thanks in advance.
-
@pjft said in Deathsmiles on lr-mame2015 : Any performance tips?:
If you would be so kind as to test this over lr-mame, it'd be very much appreciated.
Me? Test a new toy? You cray.
First thing: The change works. Properly saves and loads back perfectly. No remarkable side-effects.
Air Combat (aircomb.zip)
Test: Add 4 Credits. Measure on title Screen
Default: Solid 28.45 FPS
CPU 30: Between 28.87 to 29.72 FPS
Minor Improvement. Values hold perfectly after restartVirtua Fighter (vf.zip)
Test: Attract Demo
Default: ~32 to 34 FPS
CPU 70: ~32 to 34 FPS
No noticeable improvement. Needs a higher CPU or graphics flickerPong (pong.zip)
Test: Attract Demo
Default: 47.5 to 47.8 FPS
CPU 30-50: 47.5 to 47.8 FPS
No noticeable improvement.Might be GPU bound on these (um, for Pong, I have no idea). CPU change didn't have significant/measurable impact.
But it IS working, since underclocking VF too low resulted in a negative experience.Will try more games later.
Hope this is helpful -
@roslof Retroarch Menu -> Configuration File -> Reset to Defaults is what I was going with.
-
@roslof said in Deathsmiles on lr-mame2015 : Any performance tips?:
@AdamBeGood I believe these are default (could verify by renaming the retroarch.cfg file and re-running RetroArch to rebuild it... all of it)
that will give you retroarch defaults for ALL settings, which will break retropie in various ways. we use our own defaults.
if you've messed up your retroarch settings (just don't change latency stuff unless you know exactly what you're doing, IMO), reinstall retroarch via retropie-setup, and it will create a copy of our stock retroarch.cfg as
retroarch.cfg.rp-dist
in the/opt/retropie/configs/all/
- delete the old retroarch.cfg and rename the rp-dist one to retroarch.cfg. if you instead messed with an individual core's retroarch.cfg, then reinstall that core and do the rename within/opt/retropie/configs/(whatever)/
. if you've created core/game overrides, delete them.you can see what these various latency settings do here: https://github.com/RetroPie/RetroPie-Setup/wiki/Input-Lag - as you can see, the advice is to NOT change them because they cause known problems.
-
@AdamBeGood said in Deathsmiles on lr-mame2015 : Any performance tips?:
@roslof Retroarch Menu -> Configuration File -> Reset to Defaults is what I was going with.
this will also give you the same issue i mentioned above.
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.