Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

A Short Hike

a little exploration game about hiking up a mountain · By adamgryu

Update: Metal Backend for Mac

A topic by soooch created Aug 20, 2020 Views: 409 Replies: 2
Viewing posts 1 to 3

I made a post a while back about getting the Metal backend working on the Mac version of ASH. At the time, on 1.6, the performance was much worse than you'd expect, and so it wasn't really worth it. With the 1.8 boat update, I decided to redo the tests and now it appears Metal is definitely the better backend for Mac.

Results:

Resolution: 2560x1600 |  GPU: Iris Plus 655 | Settings: PerfectOpenGL (fps)Metal (fps)
On Fishing Ship + No Pixelation + vsync~5760
On Fishing Ship + No Pixelation +  no vsync57~65
On Fishing Ship + Default Pixelation + no vsync~230~300
Clump of Trees near Debt Guy + No Pixelation + vsync~5760
Clump of Trees near Debt Guy + No Pixelation + no vsync57~60
Clump of Trees near Debt Guy + Default Pixelation + no vsync ~200~250

Metal performs up to 30% better. Subjectively, it also has less judder at framerates that are close to, but slightly under 60fps. It does have more judder around 30fps than in OpenGL however. 

The one issue with the Metal version is that it sometimes gets stuck in a state where it can't get above 80fps. This can be resolved by going into the settings and toggling between different pixelation options.

One other thing I'd like to make note of is the new color correction option, which appears to slightly desaturate the displayed colors. This leads to different colors in the Metal and OpenGL versions. Since the Metal and OpenGL versions already start with different levels of saturation before any color correction is applied, there are now 4 different levels of saturation available to Mac users. I have no idea which is closest to the artists intent. For more information on how the colors are different in Metal and OpenGL, see my previous post.

To use the Metal backend paste this:

do shell script "open -a '/Applications/AShortHike.app' --args -force-metal"

into the Script Editor and save it as an application.

That's very interesting, I didn't know that it's possible to force an application to use Metal.

How did you tested the game's performance?