04 September 2016

MAME 0.177 - First Impressions

This became my first build from source because the official build was done in MacOSX 10.11. As described in today's update to this post, the build compiled smoothly. So here are my first impressions.

(A) BGFX Metal backend seems broken. I hope that this is not due to my own compile. When trying to launch a game from the command line, the Terminal application returns the following error:
/Library/Caches/com.apple.xbs/Sources/Metal/Metal-56.6.1/Framework/MTLRenderPipeline.mm:1006: failed assertion `Blending is enabled for render target 0; however, the pixelformat MTLPixelFormatInvalid for this render target is not blendable.'

Abort trap: 6
Doesn't seem to be a problem of my own build. OpenGL backend works without problems.

(B) Performance: Headrush69 (who posts a lot of good comments here) provided me with the perfect performance testing tool from the Terminal (from inside of the MAME directory), because you do not need to change anything in your settings for doing these tests. Many thanks Headrush69 for this! And here are some first performance results:

Elevator Action - BGFX (CRT-GEOM Halation in OpenGL)
./mame64 -video bgfx -str 30 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle elevator
Average speed: 156.35%
./mame64 -video bgfx -str 30 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator
Average speed: 516.78%Just note the huge performance gap between bezel and nobezel (also an insight by Headrush69 the other day)! 
Elevator Action - OpenGL (CRT-GEOM Halation)
./mame64 -video opengl -nofilter -gl_glsl -glsl_shader_mame0 /Users/stefan/Games/mame/CGWG-CRT-geom-halation-20151123/CRT-geom-halation -str 30 -noafs -artcrop -noreadconfig -nosleep -nothrottle elevator
Average speed: 717.32%
./mame64 -video opengl -nofilter -gl_glsl -glsl_shader_mame0 /Users/stefan/Games/mame/CGWG-CRT-geom-halation-20151123/CRT-geom-halation -str 30 -noafs -artcrop -noreadconfig -nosleep -nothrottle -nobezel elevator
Average speed: 809.30%The performance gap is by far not that pronounced. 
Gyruss shows the same pattern:./mame64 -video bgfx -str 30 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle gyruss
Average speed: 223.90%./mame64 -video bgfx -str 30 -noafs -bgfx_screen_chains crt-geom-deluxe -bgfx_backend opengl -artcrop -noreadconfig -nosleep -nothrottle -nobezel gyruss
Average speed: 586.71%./mame64 -video opengl -nofilter -gl_glsl -glsl_shader_mame0 /Users/stefan/Games/mame/CGWG-CRT-geom-halation-20151123/CRT-geom-halation -str 30 -noafs -artcrop -noreadconfig -nosleep -nothrottle gyruss
Average speed: 648.07%
Anyways it seems that shaders tend to get faster again. Let's see what the error in the Metal shader means...
(C) Although I hardly use the mouse, I can confirm that mouse input has been greatly improved with this update. Even my Trackpad now works ok with games such as Arkanoid or Star Wars.

(D) Highscore support via LUA script feels rock solid now. As long as you copy your hi directory from previous versions of MAME, your highscores will also follow. All my games properly record highscores, which is very cool. I no longer rely on Autosave State on the general level, so I turn it off by default. Instructions for activating LUA Highscore are here.

Apart from the broken METAL frontend, this is a version of MAME that was closing my entire wishlist. So I will start exploring further into MAME and MESS.

New working games in 0.177 shown by Definitely Russian: https://www.youtube.com/watch?v=r0_vlTXw5pE

1 comment:

  1. I see the same issue using the Metal backend. I had this problem with an earlier version too. I swear I found a fix, but not 100%. Let me check my history.

    Nice thing about 0.177 is it looks like the mouse issues with OS X are fixed. I was following the fixes on github, but they didn't think they would make this release, glad they did. (Sucks having a trackball that doesn't work)


Any comments are welcome!