Raspberry Pi MAME Benchmarks
- Benchmarks measuring MAME's speed on Raspberry Pi hardware, using MAME's built-in benchmarking tool.
- Want to do this for yourself? Here are some scripts that might help.
Overall findings
- Clock for clock, Rasberry Pi 4B beats Raspberry Pi 3B+ by almost 100%
- Game performance scales almost linearly with clockspeed. Overclocking is worth it (get a good heatsink).
- 64bit beats 32bit on average around 10-17% (for some games, over 50%!). Make sure you're running a 64bit OS for best results.
- MAME executables for Raspberry Pi can be downloaded here:
- https://stickfreaks.com/mame/
- "aarch64" is 64bit Rasperry Pi OS
- "armhf" is 32bit Raspberry Pi OS
Game lists
- There's three sets of games lists I use across these benchmarks:
- John IV's lists, which you can compare with his high end x86_64 desktop PC here: http://www.mameui.info/Bench.htm
- The BYOAC Forums "All Killer, No Filler" list of games (650 popular titles in total)
- My own "Classics" list, which are much older games chosen to be able to run on Raspberry Pi 2 era hardware, and compare to RPi3 and RPi4 hardware to demonstrate the generational differences.
Results:
- MAME 0.250, RPi 2, 3, 4, Orange Pi 5, and some old x86 laptops
- MAME 0.246, RPi2, 3 and 4 across all three games lists
- MAME 0.232, "All Killer" list only
- Benchmarks performed on RPi3 and RPi4, stock and overclocked, 32bit vs 64bit (6 sets of data in total, basic stats in the Google sheet version)
- Google Sheet
- Raw CSV
- MAME 0.232, John IV list
Explanation, method, results
-
This is now all automated via scripts. These can be downloaded on GitHub, and a ReadMe is included with an explanation of how they work:
-
Benchmarks are run for 90 seconds, and the -bench flag disables sound and video output (these are emulated in-CPU, but not sent to your GPU/soundcard, so the unique latency of things like video scaling and effects, audio processing, vsync, etc are removed) and removes the internal throttling to force the emulation to run at its maximum possible speed.
-
Command is very simply:
mame -bench 90 romname
-
Output is a percentage figure. Note that there's no interactivity during this run, so the "benchmark" relies on the game's internal demo/attract mode. For most games this is adequate to test how well it will play during emulation.
-
Ideally, you want a figure higher than "100%", as that average typically doesn't represent the lowest framerate during the run, which tends to be 10-20% lower than the overall average. 200%+ almost certainly guarantees stutter-free play with no frame drops.
-
I'm currently testing on Rasberry Pi OS (previously known as Raspbian) Buster, based on Debian 10 Buster, binaries compiled with GCC 8.3.
-
Clockspeed is noted, as the Rasberry Pi overclocks quite well. Note that certain models speed-throttle at high temperatures (e.g.: The RPi4B throttles over 80C/176F), so a good heatsink is recommended (I keep a track of temperatures to ensure my benchmarks are never on throttled hardware).
-
Example headings:
- 0.230/4B/32/2.0 = MAME version 0.230, Raspberry Pi model 4B, 32bit (armhf), 2.0GHz
- 0.230/3B+/64/1.2 = MAME version 0.230, Raspberry Pi model 3B+, 64bit (aarch64), 1.2GHz
- etc
-
Take aways across the 650 games tested on 8 hardware combinations:
- Clock for clock, RPi4 nets an average of twice the performance of an RPi3
- 32bit to 64bit on the same CPU sees an average performance boost of between 10 and 17%
-
MAME executables for Raspberry Pi can be downloaded here:
- https://stickfreaks.com/mame/
- "aarch64" is 64bit Rasperry Pi OS
- "armhf" is 32bit Raspberry Pi OS