19 December 2016

BootCamp for Mac Retrogaming - Is it Worth The Hassle?

This post will be about running BootCamp for Retrogaming. As regards MAME, I am interested in a direct comparison between MAME running on macOS Sierra and Windows. 
Eventually the question is whether it's worth the hassle with BootCamp, or whether you can easily stick with your Mac system.



Bottom Line: MAME on Windows is by far faster than on Macs. However, with some tweaking, you get similar results on Macs, but Windows remains the performance king. Probably it makes more sense to tweak your Mac settings, e.g. faster shaders, than installing BootCamp and keeping a Windows system up-to-date all the time.

Here are the details:



Insight 1: Installing BootCamp is still a nightmare on the partitioning side
My last BootCamp experience was on my MacPro (Early 2008) with Windows 7, and since then the experience did not get any better. Unfortunately the Apple documentation still fails to help out on the most common problems. After a lot of trial and error, these steps worked out for me:
(1) Have only one Mac System partition on your Mac, meaning: In your Hard Disk Utility, you should see only one Mac system partition.
(2) Reset your PRAM while there is only one Mac System partition: This was the biggest, but unfortunately latest insight for me. As pointed out in a forum, resetting your PRAM resolves a mysterious problem, in which the Windows installer cannot find the properly formatted partition in the very last step prior to installation. So just do it and you will not regret it! Instructions here.
(3) Boot up your Mac in Recovery Mode and Repair your (only) Mac System partition in Disc Utility: In my experience, the BootCamp partition manager leaves the Mac System partition in an unfinished state. So when you head back to only one Mac system partition with the BootCamp utility alone, another attempt to repartition it for BootCamp always resulted in a hanging partition. If you do a repair in Recovery Mode, the BootCamp Utiliy won't hang.
(4) With all these precautions, the BootCamp Utility procedure runs through without any problems. Drivers are installed during the procedure, and everything worked out of the box.

Insight 2: The Windows 10 experience
I quite like the Windows 10 experience, it is the Windows system that feels most like MacOS. It's incredibly snappy and stable so far. My iMac is sufficiently supported by the Bootcamp drivers, so all hardware works as it should be. My GeForce GTX 780M, a notebook GPU, is nicely supported by Nvidia. After Bootcamp install, I can upgrade to Driver version 376.33, which dates from December 2016. With a small hack, I learned my Apple Trackpad to do natural scroll direction. From that, there is nothing to prevent me from a nice Windows 10 experience.

Insight 3: MAME and QMC2
(1) First shock: QMC2 0.70 (binary download) immediately crashes here after first setup. I have no idea what to do. First attempts to build QMC2 from SVN via gcc fail as well. So far for QMC2.
(2) On the command line, I now performed a rather extensive test run with one of my evergreen test candidates. Contrary to first impressions, the results were quite surprising. These are my insights:
  • BGFX/HLSL on Macs has real problems when Artwork is enabled, since this is not the case in Windows. The Metal Backend of BGFX is broken since version 0.177 - at least in my own compiles (R0Ni's official compiles from an older machine work).
  • Mac vs Windows/OpenGL: Windows is always the winner, some performance gaps are stunning (see e.g. Gyruss or Offroad Challenge).
  • Windows/OpenGL vs Windows/D3D11: In most cases, D3D11 adds another 10% performance improvement or even more.
  • This performance edge slims down significantly if BGFX/HLSL has Oversampling set to 2 (this is default!). Only if you set it down to 1 (my own custom setting), the Windows version has a significant edge over the Mac version.
  • Mac OpenGL/CRT-GEOM DELUXE (non-BGFX) is in the range of Windows performance without Oversampling. So on Macs, OpenGL drivers still rule.
This means that for both Windows and Mac users, I question the viability of the Oversampling default option in BGFX/HLSL, since it is a total performance killer (read here how to tweak this). From the games tested below, Offroad Challenge has been the single only game where I noticed a nice quality improvement of the shadows (as described here). I will continue testing with new games, where this setting may add quality.

So does it make sense for Mac Users to try out BootCamp?
Only if have big performance problems on your Mac and if your machine can benefit from good Windows drivers. On my machine, BGFX/CRT-GEOM rocks heavily on Windows, while in BGFX/HLSL, you will need set down Oversampling to 1 to get any better performance than on Macs. So probably it is safe for me to stay with macOS Sierra :-).

Here are the detailed test results:

My machine: see this post with macOS Sierra and Windows 10, both most recent versions

Test scenarios (command lines at the bottom of this post):
Test1: BGFX/CRT-GEOM DELUXE with Artwork
Test2: BGFX/CRT-GEOM DELUXE w/o Artwork
Test3: BGFX/HLSL own settings with Artwork, w/o Oversampling
Test4: BGFX/HLSL own settings w/o Artwork, w/o Oversampling
Test5: BGFX/HLSL own settings w/o Artwork, with Oversampling
Test6: Mac/OpenGL CRT-GEOM DELUXE with Artwork
Test7: Mac/OpenGL CRT-GEOM w/o Artwork

Some interesting individual results (in line with the above insights) are highlighted in red.


MacOS Windows/OpenGL Windows/D3D11
1942 RevB



Test1
235 %
999 %
1.122 %
Test2
789 %
1.001 %
1.106 %
Test3
234 %
826 %
1.000 %
Test4
673 %
817 %
1.008 %
Test5
290 %
315 %
393 %
Test6  
1.098 %


Test7
1.288 %


Defender (Red Label)



Test1
130 %
695 %
778.74
Test2
600 %
689 %
776 %
Test3
130 %
571 %
703 %
Test4
524 %
572 %
703 %
Test5
191 %
195 %
244 %
Test6
742 %


Test7
836 %


Elevator Action



Test1
145 %
697 %
782 %
Test2
594 %
716 %
795 %
Test3
145 %
574 %
710 %
Test4
495 %
561 %
708 %
Test5
183 %
195 %
242 %
Test6
742 %


Test7
834 %


Gyruss



Test1
167 %
808 %
864 %
Test2
423 %
828 %
879 %
Test3
167 %
750 %
836 %
Test4
413 %
713 %
838 %
Test5
283 %
323 %
407 %
Test6
446 %


Test7
456 %


Metal Slug 1



Test1
141 %
716 %
751 %
Test2
598 %
716 %
726 %
Test3
134 %
568 %
625 %
Test4
495 %
567 %
637 %
Test5
183 %
195 %
243 %
Test6
744 %


Test7
840 %


Offroad Challenge (v.1.63)



Test1
142 %
347 %
317 %
Test2
125 %
326 %
317 %
Test3
125 %
332 %
321 %
Test4
125 %
318 %
308 %
Test5
124 %
306 %
305 %
Test6
123 %


Test7
124 %


R-Type



Test1
640 %
764 %
847 %
Test2
641 %
743 %
833 %
Test3
538 %
602 %
762 %
Test4
538 %
625 %
684 %
Test5
208 %
212 %
264 %
Test6
896 %


Test7
897 %


Three Wonders (USA 919520)



Test1
592 %
707 %
774 %
Test2
593 %
704 %
765 %
Test3
509 %
567 %
697 %
Test4
507 %
558 %
696 %
Test5
183 %
195 %
242 %
Test6
833 %


Test7
829 %




Command Line from mame directory (Windows without ./ at the beginning):
Test1 ./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle elevator
Test2 ./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator
Test3 ./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains hlsl -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle elevator
Test4 ./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains hlsl -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator
Test5 ./mame64 -video bgfx -str 60 -noafs -bgfx_screen_chains hlsl -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator (identical to Test4, but Oversampling set to 2 in hlsl.json)
Test6 ./mame64 -video opengl -nofilter -gl_glsl -glsl_shader_mame0 /Users/stefan/Games/mame/CRT-GEOM-DELUXE/CRT-geom-halation -str 60 -noafs -artcrop -noreadconfig -nosleep -nothrottle elevator
Test7 ./mame64 -video opengl -nofilter -gl_glsl -glsl_shader_mame0 /Users/stefan/Games/mame/CRT-GEOM-DELUXE/CRT-geom-halation -str 60 -noafs -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator










No comments:

Post a Comment

Any comments are welcome!