23 December 2018

MAME in MacOS 14.14 Mojave, Thoughts on Significance of GPU

After the hickups around upgrading iMacs equipped with Fusion Drives have been sorted out, I upgraded to MacOS Mojave. Also for MAME, it was definitely worth it.

For all of you having Fusion Drives plus Bootcamp on your Mac - it is finally safe to upgrade, provided that you first backup your Windows data, delete your Bootcamp partition and do the upgrade to Mojave thereafter: https://support.apple.com/en-us/HT209057 (worked perfectly for me). My Fusion Drive is finally on APFS. Also the installation of Windows 10 via Bootcamp was entirely flawless.

Speaking of Mojave - I really love the new Dark Mode.

 

So what about MAME in Mojave - here I have really good news. From my first benchmark tests, Mojave seems to bring quite consistent performance increases to MAME running BGFX/Metal. This is the command from the Terminal:
./mame64 -window -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend metal -noreadconfig -nosleep -nothrottle ROMFILENAME
In both instances the current MAME 0.204, with and without Artwork

Game
High Sierra
Mojave
1942 (Revision B)
743.95% / 761.62%
 771.05%/767.06%  
1943
707.83% / 760.09%.
704.09%/761.15%
3wonders
577.99% / 582.34%  
822.15%/604.72%
elevator
588.24% / 587.99% 
603.27%/604.03%
gyruss
370.31% / 379.10%
545.74%/590.24% 
Inthunt
584.24% / 570.71%  
615.52%/592.22%
mslug
605.41% / 610.59%
610.48%/619.22%
offroadc
149.43% / 167.06%
285.55%/284.72%
rtype
676.01% / 631.30%
696.62%/658.33%

I immediately noted the quite significant performance in Gyruss and Offroad Challenge. Which brought me to a long-standing question:

How important is the GPU of your Mac for MAME performance?



You can read quite frequently that MAME solely depends on a good CPU, whereas GPU performance is irrelevant. I was always sceptical about this statement, simply because I had different experience on Mac minis and Mac Laptops with integrated GPU. After some dedicated testing, this might be the answer:

While MAME standalone relies on the CPU, the GPU (literally) becomes the game changer as soon as you add artwork and/or shaders. My first tests are very preliminary, however give a very clear picture.

Tests on my iMac Late 2013 with NVIDIA Geforce GTX 780M 
(GPU History according to Activity Monitor)
















Tests on my MacBook Pro 13'' Mid 2012 with Intel HD4000 integrated GPU



Tests on a Mac mini (Mid 2011, 2,7 GHz i7, AMD Radeon HD 6630M 256 MB) go in a similar direction (unfortunately the GPU graph of the Activity Monitor does not work):

1942 Revision B
741,07% - without artwork and without shader
412,74% - BGFX/Metal* without dedicated shader
253,51% - BGFX/Metal* with CRT-GEOM Deluxe
64.24% - BGFX/Metal* with HLSL
*OpenGL show very similar results

What I get from this as a preliminary conclusion: Shaders and bezels desperately need GPU power. And arcade games only make fun if you apply shaders and artwork. 

So does it sense to purchase a new Mac mini if you are into enhanced MAME gaming? Probably not, unless you want to invest into an external GPU as well.

I will try to further dig into this very interesting topic, simply because you can read so differently all over the Internet about MAME requirements. 

PS: Sorry for just looking into the GPU History of the Activity Monitor. I tried the very decent XFG App https://gauchosoft.com/Products/XRG/- but this software does not recognise my GPU, so I am stuck with the above graphs for the time being. Should you have alternative suggestions for testing, I would be happy to learn about them.

PPS: Some preliminary tests with iStat (unregistered) confirm these findings. BGFX without shaders leaves GPU usage clearly below 40% on my iMac. BGFX shaders with bezels in fullscreen can drive GPU usage beyond 75% on the same machine. This again gives me an indication about how important GPU performance seems to be for MAME running shaders and artwork. My plans to head for a new Mac mini slowly evaporate ...


1 comment:

  1. A suggestion for a front end: EmuLaunch. It's ancient and abandonware (although the dev does respond to Tweets and emails), but as of High Sierra, it still works. Simple and elegant solution geared towards arcade control panel navigation. I use it on two cabinet projects, and it works great. Simple setup, with a customizable game list via editing an .xml file. It was originally built to work with MacMAME and MAME OS X, but added SDLMAME support towards the end of development (which is how I use it). Also supports other emulators (Stella, NES, etc.), but I don't use it for anything but arcade games. http://www.emulaunch.com/

    ReplyDelete

Any comments are welcome!