8 comments

[ 3.3 ms ] story [ 30.1 ms ] thread
The real question is why Metal instead of Vulkan.
I suspect that Apple has highly optimized Metal to support their own new processors.
Vulkan for better or worse seems super targeted at AAA gamedevs, here's a probably unfair 1189 line example of how to show a triangle: https://github.com/SaschaWillems/Vulkan/blob/master/examples...
AAA gamedevs (and even C- gamedevs) generally use gaming engines (Unity, Unreal, etc). They don't write direct Vulkan or GL. Practically only the Engine people need to care about Vulkan's complexity.

Besides, while the boilerplate for Hello Triangle is indeed very big, it makes a lot of stuff easier to express on top of it. GL may have a much smaller Hello Triangle, but you have a lot less control over it, way too much stuff happens under the hood. And regardless, if all you want is to animate a web page with fish on an aquarium you really should be using GL instead of Vulkan.

Isn't it just because Metal came before Vulkan?
I suspect it's about their moat. It's always about someone's moat.
Apple seems to think along the lines like this: 1) people should create apps and games for our platform using our SDK / Xcode only, 2) we don’t support OpenGL in Xcode.. 3) the apps that are not made in our SDK are “not a good experience” or janky or something. 4) let’s just get rid of supporting things that were not made using our SDK because it means we can more readily support those apps and control how they behave

It does seem like while tons of people are happy to use iPads and iPhones, lots of people also have computers that they use for work or hobbies that are not easily boiled down into using somebody’s random app that. Many people have an iPad and iPhone and also and a Win10 PC. I think at least in the business and SW developer sector Apple is losing business with their “lock it down” strategy on their Mac’s.