Raspberry Pi OS 64bit version
-
I used the MAME supplied "-bench" flag. It renders video and audio internally, but doesn't send them to the GPU/screen/sound hardware. This is useful in that you see the true "raw" performance of MAME, free from any display technology or driver issues.
unfortunately the player doesn't have that luxury ;)
If you have specific video outputs you want me to test, let me know (I'll fetch a complete list and post it when I'm back at a PC).
the thread i linked uses ddp3 as an example. we use sdl, and no x11. we did bench a variety of different display modes when creating the build script and that seemed to be the fastest, outside of x11.
Brilliant, cheers, I'll check that out
great! feel free to iterate on what i've done. i would love to see some kind of automated testing in retropie.
-
@dankcushions said in Raspberry Pi OS 64bit version:
@elvis
unfortunately the player doesn't have that luxury ;)Totally understood. I was originally testing outside of the scope of RetroPie (I run an RPi4 as a desktop, using MAME, ScummVM and Box86 for various emulation and game research tasks). So that number interested me without the variability of display drivers, scaling, etc. Plus then I can also pretty objectively compare to John IV's long running published benchmarks that do the same.
the thread i linked uses ddp3 as an example. we use sdl, and no x11. we did bench a variety of different display modes when creating the build script and that seemed to be the fastest, outside of x11.
Ok cool, I'll take a read through that tomorrow and catch up on it all. I'd considered testing at least a portion of the really fast games under different display outputs, at least to see how big that delta was. Maybe it's worth running the whole lot through all the display modes?
The Pi4 in particular, with its newer GPU and drivers, seems to have potential for improvement. I have a feeling those results will change as driver and Mesa improvements continue.
I'm starting to feel like I could just run these benchmarks on loop forever. Maybe I need another couple of RPis :)
-
Quick and dirty test on what's on my RPi4 (CPU 2.0GHz, GPU 600MHz/128MB) now. I'm in a different physical location to the Pi, so I can't change the OS at the moment. Currently running 64bit (aarch64) Debian 11 Bullseye with the Raspbian kernel 5.10.17-v8 (current setup was Raspbian Buster, dist-upgraded to Bullseye). MAME 0.230 is compiled with Bullseye's GCC10.
I ran 1942 and arabian with common flags "-verbose -seconds_to_run 90 -nothrottle -nowaitvsync", and then combinations of video, video drivers, and video scale modes appropriate to each output type. Some failed to run (accel_directfb, soft_yuy2 and soft_yuy2x2 reported as not supported).
Currently attached to a monitor set to 1024x768 resolution.
bgfx_backend is set to opengl, and bgfx_screen_chains set to unfiltered in the config file.
All modes tested (just for reference to compare to what actually produced a useful log):
$ ls -1d 1942*log
1942_accel_auto.log
1942_accel_directfb.log
1942_accel_x11.log
1942_bgfx.log
1942_none.log
1942_opengl.log
1942_soft_hwbest.log
1942_soft_hwblit.log
1942_soft_none.log
1942_soft_yuy2.log
1942_soft_yuy2x2.log
1942_soft_yv12.log
1942_soft_yv12x2.logAnd the results that returned a speed, sorted from best to worst are:
$ grep ^Aver 1942*log | sort -k3 -gr
1942_none.log:Average speed: 571.93% (89 seconds)
1942_accel_auto.log:Average speed: 300.01% (89 seconds)
1942_accel_x11.log:Average speed: 297.49% (89 seconds)
1942_soft_hwbest.log:Average speed: 295.65% (89 seconds)
1942_soft_hwblit.log:Average speed: 289.79% (89 seconds)
1942_opengl.log:Average speed: 271.81% (89 seconds)
1942_soft_yv12.log:Average speed: 271.39% (89 seconds)
1942_soft_yv12x2.log:Average speed: 265.13% (89 seconds)
1942_bgfx.log:Average speed: 223.18% (89 seconds)
1942_soft_none.log:Average speed: 137.64% (89 seconds)$ grep ^Aver arabian*log | sort -k3 -gr
arabian_none.log:Average speed: 1671.79% (89 seconds)
arabian_accel_auto.log:Average speed: 314.14% (89 seconds)
arabian_accel_x11.log:Average speed: 312.98% (89 seconds)
arabian_opengl.log:Average speed: 305.48% (89 seconds)
arabian_soft_hwbest.log:Average speed: 304.67% (89 seconds)
arabian_soft_hwblit.log:Average speed: 303.42% (89 seconds)
arabian_soft_yv12.log:Average speed: 268.34% (89 seconds)
arabian_soft_yv12x2.log:Average speed: 260.45% (89 seconds)
arabian_bgfx.log:Average speed: 219.92% (89 seconds)
arabian_soft_none.log:Average speed: 151.68% (89 seconds)Definitely backs the choice of SDL without x11 as the preferred video output. Fairly similar upper bounds on each, despite no-video runs different by a scale of almost 3.
Is there any comment on what future improvements to VC4/V3D drivers will bring to these speeds? Or are we seeing internal bandwidth limits here?
-
@elvis said in Raspberry Pi OS 64bit version:
Definitely backs the choice of SDL without x11 as the preferred video output. Fairly similar upper bounds on each, despite no-video runs different by a scale of almost 3.
it's strange then the findings of @George in that thread - but maybe the retropie environment has an additional affect (again, we use a custom version of sdl)
Is there any comment on what future improvements to VC4/V3D drivers will bring to these speeds? Or are we seeing internal bandwidth limits here?
i would have thought the simple stuff like blitting to screen is about as good as it's ever going to be, but like i say, check out that thread - there may be a compounding issue for retropie. i'm currently building mame on my 64-bit x-less retropie install so will be able to test myself on some of these games. will be using ddp3 to try and recreate @George's findings.
(maybe we should continue this discussion there)
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.