6 ms·
It seems to me that Apple invented their own proprietary graphics technology (Metal), never supported a cross-platform one (Vulkan), then found not enough games
by AshleysBrain 3y ago
It seems to me that Apple invented their own proprietary graphics technology (Metal), never supported a cross-platform one (Vulkan), then found not enough games ever supported Metal, so they added a translation layer for another proprietary graphics technology (DX12).
Wouldn't they have been better off just supporting Vulkan?
- norman784 3y agoMetal was launched before Vulkan (2014 vs 2016), Vulkan was before Mantle from AMD that they donated to the Khronos group, it was in development and Apple is part of the group so they were aware of it, but I can understand that depending on consensus across multiple parties could delay Apple agenda, same for Microsoft that could ditched Dx in favour of Vulkan, but they aren't.
- bhouston 3y agoApple is not part of Khronos now and there is a bit of a weird relationship between the two these days. Some details here: https://news.ycombinator.com/item?id=22539633 https://news.ycombinator.com/item?id=22539633
- gjsman-1000 3y agoThere have been (though don't quote me on this) stories about how everything Khronos standardizes reeks of design-by-committee, to the detriment of the final standard. An obvious example would be OpenGL, which nobody has called a well-designed API. But there's other misfires as well. OpenCL hasn't exactly set the world on fire compared to CUDA. OpenVG was a standard for accelerating 2D Graphics that was a little too late to matter. OpenXR? Well, at least Oculus is actually using it. WebGL? The W3C is working on replacing it with the (far superior) WebGPU. WebCL? Well, that was a JavaScript system for OpenCL, and that was as bad of an idea as it sounds. And of course, most recent example: Vulkan. Almost everyone who has actually used Metal has commented on how it is much, much easier to hit the ground running than Vulkan, because Vulkan requires mountains of boilerplate. (It's also worth remembering that every iOS Developer builds for Metal, so it isn't like there isn't knowledge out there about how to use it - it's just among mobile game developers instead of the AAA developers).
- bhouston 3y agoYour comment isn't really that informed. OpenGL wasn't designed by Khronos, rather it was designed by SGI and called GL. It was then given to Khronos and then maintained it. OpenCL wasn't designed by Khronos either, rather it was designed by Apple and then given to Khronos to maintain. It was orphaned when Apple gave up on it, and not because of Kronos's leadership but rather Apple decided to go all in on Metal, their proprietary solution that did graphics and compute shaders. Vulkan also wasn't fully designed by Khronos, rather it was based heavily on Molten from AMD, which was gifted to Khronos. It is much more widely used than Metal. That said, benevolent dictators who are competent can out do committee decision making, but committee decision making is often better for an industry as a whole because it aligns different interest groups.
- justsid 3y agoI'm a graphics programmer and basically write Vulkan code full time. It's an amazing and excellent API with an absolutely crazy good documentation. I've done some DirectX and Metal work too, and while they are definitely less verbose, I find them much harder to use because I have to rely on my intuition and prior experience for how things interact with each other. With Vulkan, it's spelled out for me in the specification. Yes, Vulkan comes with more boilerplate. But who cares? Vulkan was meant to write your engine in, not something you call directly from client game code. It works extremely well and Khronos deeply cares about Vulkan and continuously improves it. Part of the verbosity also comes from the fact that Vulkan scales from small embedded SoCs to big gaming GPUs and everything inbetween, so the API has to cover a lot of potential hardware quirks. Viewing Vulkan as a kinda low level HAL helps explain a lot of the verbosity. Anyways, long story short, I absolutely love working with Vulkan and after having been Vulkan programmer since basically day 1 of its existence, you can take it from my cold dead hands.
- norman784 3y agoI'm out of date on the subject, but Apple joined Khronos[0], not sure when they left. [0] https://www.khronos.org/news/permalink/apple_dell_google_and_others_join_the_khronos_group https://www.khronos.org/news/permalink/apple_dell_google_and...
- GeekyBear 3y agoIs Vulkan the default API for any platform except a subset of the newest Android devices? By default, pretty much every gaming platform has it's own proprietary graphics tech. we've got Metal on Macs and iOS, DirectX on Windows and XBox, and Gnmx on Playstation.
- jillesvangurp 3y agoThe goal with Metal was making sure they own IOS, and now their new AR platform. Macs are selling well regardless. They are just a nice to have. I think they are keeping an evil eye on asahi linux. As soon as that becomes viable, they'll act to keep people on OSX. Their worst nightmare would be steam actively moving to support proton on mac and doing things outside the apple store. Asahi linux would be the pre-cursor to that happening.
- threeseed 3y ago> As soon as that becomes viable Linux on the Desktop - Apple Silicon edition.
- smoldesu 3y agoAnd still no Miller columns. What a ripoff, I'm going back to Xserve...
- kitsunesoba 3y agoI doubt they’ll do anything to Asahi. They went out of their way to add third party OS support to M-series Macs after deriving them from the famously single-OS iPad architecture. They’ve also said that they’d welcome Microsoft porting Windows to M-series Macs and wouldn’t do anything to stop it. They clearly see the Mac a bit differently than they do the other iDevices.
- jillesvangurp 3y agoYou are getting me wrong. As soon as people start running games on Apple hardware outside of their software platform, they'll want to fix that. Asahi Linux is making rapid progress to enabling that. Hence the announcement of a porting toolkit. Imagine if they don't do that and then Steam suddenly announces rolling out proton to macs and the availability of their full catalog. That's a scenario Apple would want to avoid. Hence the announcement of a porting kit.
- 3y ago
- flohofwoe 3y agoYou could say the same about Vulkan though (outside Android, Vulkan is mainly used to run D3D games on Linux via dxvk). The D3D APIs are by far the most popular for PC games, so it makes a lot more sense to support D3D. Also, Vulkan on Mac is already supported "well enough" via MoltenVk.
- whywhywhywhy 3y agoThey would have dumped it eventually even if they did. We can tell from the OpenCL debacle and a lot of the things going on in WebKit standards that a perfectly usable technology can exist but developers internal at Apple are only rewarded for building tech invented there.