5 ms·
All of that is not a justification for their sick lock-in. - It was explained above, that Apple knew well all along, that there was an effort to make a common
by shmerl 7y ago
All of that is not a justification for their sick lock-in.
- It was explained above, that Apple knew well all along, that there was an effort to make a common low level API. Well before they started Metal. So they purposefully refused to participate.
- C was a proper choice for Vulkan (short of choosing Rust let's say), since it makes it easier to provide bindings from any language than let's say using C++, making bindings to which is way more painful.
- Optimization for hardware happens on low level compilation, so it's a lame excuse not to support Vulkan.
- Faster or not, Apple could observe the result (which was good) once it was ready, and support it. They refused (because Apple).
- Business or not, lock-in is a nasty attitude that's aimed at taxing developers. There is no no need for development tools lock-in, it's a sick anti-competitive methodology, for which Apple is quite infamous.
- dagmx 7y agoWhen Metal was initially developed and even when it was released, Vulkan wasn't even a proposed project yet. The only comparable thing was Mantle from AMD (which later evolved into Vulkan). At the time NVidia were still saying use OpenGL with AZDO techniques and on mobile, you were stuck with OpenGL ES, with a multitude of issues. Optimization of existing code happens at a lower level but if you can gear an API for optimal use of your hardware and existing APIs, you make it easier for developers to write code that will have a better shot at being optimized. Not all code optimizes the same way. Also what you view as taxing developers, can also be flipped around as being able to make an API that is a lot easier for the developers on their platform. And indeed, metal is probably the easiest of the modern graphics APIs to get started with, with a very light learning curve even compared to OpenGL. All while not sacrificing performance and expressiveness for more involved development. Vulkan meanwhile remains very inaccessible to many developers even with graphics backgrounds. Let's not also forget that apple isn't an outlier for lockin, and actually are quite open. OpenCL, Clang, webgpu, swift etc are all very open and cross platform. Meanwhile even things like directx are locked to windows. The real goal isn't lockin. It's providing the best API to developers to let them get in quickly while also optimizing for their hardware. Lockin is an unfortunate side effect but they're also completely succesful in meeting their actual goals.
- shmerl 7y ago> The real goal isn't lockin. That's an excuse, since the result is lock-in. I.e. if Apple so much wanted Metal - let them have it. But how does that prevent them from supporting Vulkan, for those who don't want to waste resources on duplicating work and want to reuse their existing Vulkan codebase on Apple systems? But no, Apple forces you to use Metal. So the claim that it's for developers' benefit won't fly. It's for Apple's benefit very clearly. WebGPU is also a counter example, since Apple there try to prevent adoption of common formats like SPIR-V. When it comes to sabotaging interoperability, Apple are always among the first.
- dagmx 7y agoApple does all their driver and API development in house. Supporting Vulkan would mean a lot more effort on their part. Unlike windows and Linux where support is handled by the GPU vendor instead. Why support Vulkan, which is arguably harder to use and takes more resources of their internal development teams, when they have an API that provides all the benefits and is arguably a better API? Especially when the major off the shelf engines already support metal. It's diminishing returns at this point. Personally I'd be quite happy to have Vulkan support on mac, but if you take a step back from your inalienable position that it's a conspiracy, there's actually very sound reasoning behind it. You may not agree with the decision, but you weaken your argument when you're trying to force everything to fit a black and white narrative. The reality is much more nuanced.
- banachtarski 7y ago> Apple does all their driver and API development in house Not OP but the games and film industry believe this here is the problem. The additional effort to support common APIs is an artificial self-imposed problem resulting in worse software.
- dagmx 7y agoI'll definitely agree here that it's got its share of pros and cons, and having worked in both realtime and film work, it is difficult. But on the flip side, it does fit in with apples ability to develop very tailored platforms and make very easy to use APIs. So while I often find myself on the wrong side of the double edged sword, I do also feel their decisions make sense as well. And honestly, having done dx9-12, OpenGL and Vulkan, I won't argue against how easy to use metal is.
- fluffything 7y ago"Lock-in" means that there are alternatives that you could use, but the vendor does not let you. When Metal appeared, there were no alternatives, Vulkan wasn't a thing for 2 years after Metal, and even today, Vulkan has seen relatively low adoption, so one could argue that it still isn't really a thing. Metal might be many things, but lock-in isn't one of them. If you are happy with Vulkan then good for you - without Metal, Vulkan wouldn't even exist. It took Apple telling Khronos to GTFO for they to start working on Vulkan.
- shmerl 7y ago> without Metal, Vulkan wouldn't even exist. That's completely false. Apple only started the whole Metal effort because of Mantle, which was the origins of Vulkan. But being Apple, instead of collaborating and ending up in proposing things for Vulkan, they pushed for NIH lock-in. > Lock-in" means that there are alternatives that you could use, but the vendor does not let you. Which is exactly the case here. Take some project like Wine for example, that works on implementing Direct3D over Vulkan. That's the alternative they want to use, yet Apple prevents them, forcing them to either waste resources on implementing another path using Metal, or to go suboptimal route of extra translation. Who is to be blamed for it, but Apple? > Metal might be many things, but lock-in isn't one of them. It wouldn't be, if Vulkan was available as an alternative. But like you said yourself, lock-in happens when the the vendor does not let you use the alternatives. Who but Apple prevents native Vulkan support from appearing on their systems? So Metal is very clearly lock-in, according to your own statement.
- xenadu02 7y ago> Apple only started the whole Metal effort because of Mantle No.
- shmerl 7y agoThey responded to it. AMD were first to come up with such design and published it for everyone in the form of Mantle. AMD also clearly communicated their idea to make it open and available for all. Apple used the idea, but instead of eventually joining Vulkan group, pushed their NIH in their typical fashion.