Hacker News new | ask | show | jobs
by hd4 2838 days ago
Yes but there's nothing surprising about the Walled Garden Company promoting their own snowflake version of Vulkan and insisting everyone who wants to run software must do things their way. This is the same company who has totally locked down the tooling to create and publish iOS apps to only be possible on their hardware.
2 comments

To be fair, Metal is more than a "snowflake version of Vulkan". For one thing, it was in production before vulkan, largely to address the issue of OpenGL's overhead on mobile devices, and basically it achieves that goal. Also there are certain things which are exposed in Metal which are not in Vulkan, for instance more control over the tile memory which mobile GPUs use. So it's not as if there is no reason for Metal to exist (of course I would be happier if Apple contributed to Khronos to get those features in Vulkan instead).

But the walled garden approach seems counterproductive here. In the days of Microsoft's dominance Apple made an effort to make windows formats usable on Apple because that meant it would be easier for consumers to switch to Apple without worrying about losing all their stuff from Windows. With regard to applications in which graphics API's are relevant (i.e. games) Apple still has a minuscule market-share, and it seems like they would be well served by adopting the dominant technology. Lock-in only works if you're already winning.

Some devs are so obsessed complaining about Metal that most aren't aware that UWP and Windows Store are DirectX only.

An advantage of all proprietary 3D APIs is the amount of out-of-box infrastructure code, debugging tools and having progressed beyond C, while Khronos APIs are still mostly C, and requiring creating mini-engine from scratch after fishing for libs.

> having progressed beyond C

I don't really see the issue with C APIs. IMO C is a fantastic integration point for a library which wants to have the widest reach possible. Interoperability with C is a solved problem in a wide variety of languages, so C APIs tend to be easy to integrate. Also since C is a fairly thin abstraction on top of what a computer actually does, good C APIs tend not to be opinionated about how they should be integrated.

I would consider working with C APIs to be a basic programming skill.

I see a big one.

https://www.hpe.com/us/en/insights/articles/making-c-less-da...

Plus it is about time to move from 70s style APIs.

> With regard to applications in which graphics API's are relevant (i.e. games) Apple still has a minuscule market-share, and it seems like they would be well served by adopting the dominant technology. Lock-in only works if you're already winning.

Except Metal is the dominant API on almost all Apple platforms. Metal supported-iOS devices are at 700 million (last year's WWDC stat) and majority of games are using Metal on iOS. You can't ignore that market, iOS games are very profitable.

Fortnite made $3M in sales in the first three days on iOS: https://www.tweaktown.com/news/61266/fortnite-mobile-makes-1...

Well as you say, Metal is really for iOS. And I think the evidence points to Apple caring much more about iOS than the Mac. So it makes sense from that perspective.
And not only do you need a Mac to write iOS apps, you need to pay them $100/yr to run the apps on anything other than your own devices.

And even on your own devices, you need to reinstall every few (days? weeks?) because the certificate expired.

That is peanuts compared with games consoles and you don't see game studios crying, on the contrary, they prefer that model to desktop computers.