Metal API developments?

Leovinus

Newcomer
Since Apple released Metal in 2014 it's matured quite a bit come the release of Metal 2 in 2017. Since then interest seems to have dwindled. The most thorough article for laymen I've read so far was written by Ryan at AnandTech in 2014, the rest being made up of scraps from blogs, Apples developer forum, and StackOverflow discussions. Which is a shame since I'm personally rather intrigued and curious about it. If anyone here has any meaty info I'd be very interested. Things like:
  • What's the shape of Metal these days?
  • What do devs feel about the API?
  • How does it compare, performance and usability wise, to OpenGL and DirectX?
  • What does the future hold for the API?
 
It's been very stable across mac devices...

The post you linked doesn't quite agree:

The biggest difference between macOS and iOS was stability. On iOS we were dealing with just one driver vendor on one architecture, whereas on macOS we had to support all three vendors (Intel, AMD, NVidia). Additionally, on iOS we - luckily! - skipped the first version of iOS where Metal was available, iOS 8, and on macOS this was not practical because we would get too few users to use Metal at the time. Because of the combination of these issues, we have hit many more driver issues in both relatively innocuous and relatively obscure areas of the API on macOS.

We still support all versions of macOS Metal (10.11+), although we started removing support and switching to legacy OpenGL backend for some versions with known shader compiler bugs that are hard for us to work around, e.g. on 10.11 we now require macOS 10.11.6 for Metal to work.

Jonathan Blow has also complained on Twitter that the Mac Metal backend for The Witness was broken in several minor macOS point releases, with no advance warning and no fix until Apple shipped new drivers.
 
Apple does have a history of inconsistent developer support when it comes to game-centric parts of their platform. This time it might become rather different though. Because at this point they are invested for the foreseeable future with AR, VR, and internal software development relying on Metal as a keystone. Granted, from the snippets I've read there seems to be a "Apple-issues first" mentality with development. It obviously makes them less flexible and quick on the uptake at this time. I hope it improves. It has to for Metal to proliferate. But as the post Scott_Arm linked to suggests, Metal does seem to have eas-of-use and performance well in hand so far.

I've tried to find where I got this information from, but I remember reading (I think it was on Github?) that writing code for one polygon to render in Vulkan was ~1000 lines of code, Metal in ~40-50 lines of code, and OpenGL about ~20-30 lines of code. Considering the performance over OpenGL it looks to me like Metal might be a great middle ground alternative as API's go. Modern, fast, and negligibly more complex than OpenGL to code for. Its main drawback being that it's limited to MacOS and iOS for now.
 
Back
Top