6 ms·
But why do they want that? That’s just making life harder for all the devs. It’s absolutely not realistic to expect devs to want to lock themselves into the mac
by bringtheaction 9y ago
But why do they want that? That’s just making life harder for all the devs. It’s absolutely not realistic to expect devs to want to lock themselves into the macOS and iOS ecosystem by using only Metal, so then they must duplicate their own efforts in Metal that they are already making in OpenGL or in Vulkan or in DX12. Having to maybe care about DX12 even though you don’t want to is bad enough on its own.
- richdougherty 9y ago> not realistic to expect devs to want to lock themselves into the macOS and iOS ecosystem From Apple's perspective it's probably worth a try to get lock-in! Their real leverage is iOS, which lots of games want to target.
- ken 9y agoIt's how Apple has been operating for 10 years with dozens of other frameworks. Plenty of people have been writing programs against Foundation, CoreAudio, MapKit, EventKit, etc, for their {mac,i,tv,watch}OS apps, and obviously different libraries for any other platforms they wish to target. I do agree that this time it might be different. There's no great cross-platform open-spec solution for, say, EventKit, so when Apple offers up their own API, we've just gone with it. Game Developers are a huge existing community, in a way that Calendar Developers are not. Metal and Vulkan are an unstoppable force meeting an immovable object. As someone who learned to program in the 1980's, it's pretty amazing that it's getting feasible to target high-performance graphics on every major platform from a single code base. Targeting every user in the world using only 2 graphics libraries doesn't seem so terrible to me. Consider how different the "Lemmings" source code must have been for Commodore Amiga versus the Commodore C=64, for example, not to mention the other 25 platforms it was ported to.
- jheriko 9y ago> Plenty of people have been writing programs against ... Maybe in absolute terms, but relatively speaking these things could not exist and nothing would change. They are /exceptionally niche/ libraries at best .. non-existent if honest
- eropple 9y agoEmphatically untrue for Core Audio.
- eropple 9y agoCore Audio is the one of those tools that I know pretty well, and the reason people use Core Audio is because it is legitimately better than the other options out there. I recently had to retool my video rig to use ASIO on Windows for audio rather than Core Audio on an OS X sidecar and it's way more finicky and difficult to work with. Metal has no such argument, to the best of my knowledge.
- AlphaSite 9y agoMetal predates Vulcan. It is also nice in someways in that its not a pure c api iirc.
- pjmlp 9y agoYep, fully OO, C++14 shaders and all the respective libraries for textures, fonts, scene definitions,.... Vulkan is the typical Khronos API, pure C, has the extension dance to find out what is available, just knows about pixels and for everything else everyone needs to go fishing for libraries.
- Phrodo_00 9y agoJust for curiosity, does it predate Mantle?
- AlphaSite 9y agoI think metal is based on mantle from before it was announced api understand it, DX12 is similar.
- mcphage 9y ago> But why do they want that? That’s just making life harder for all the devs. [...] Having to maybe care about DX12 even though you don’t want to is bad enough on its own. They probably figure, if developers are willing to do it for DirectX, they'll be willing to do it for Metal also / instead.
- megaman22 9y agoMarket share for Metal is an order of magnitude less than for DirectX. That's a hurdle.
- kirillseva 9y agoare there more windows PCs that care about running graphics-demanding software, or are there more iphones?
- jheriko 9y agoPCs. iPhones are very us centric ... the rest of the world dominates unsurprisingly.
- djrogers 9y agoWindows PCs haven’t outsold MAC+iPhone for several years now...
- jchb 9y agoDon't know about any statistics that cover specifically that segment, but when it comes to new device shipments, it has been reported that iOS + macOS surpassed Windows + Windows Phone already in 2015, and it is estimated that this trend has continued since then.
- megaman22 9y agoThat's probably a good question. Those who are actually pushing the hardware in both camps are most likely the minority, as opposed to those who are working with glorified web views. But AAA on a Windows desktop commands $40-60, whereas AAA on mobile commands < $8 +/- scuzzy IAP schemes. This list[1] is quite a bit different looking from this list[2] [1] http://store.steampowered.com/search/?filter=topsellers http://store.steampowered.com/search/?filter=topsellers [2] https://www.apple.com/itunes/charts/paid-apps/ https://www.apple.com/itunes/charts/paid-apps/
- tasoeur 9y agoApple is making its own hardware (GPUs) and wants full control on the drivers and feature set for their graphics API. As someone else mentioned, Vulkan and co are great but also limit to some extent what you can achieve / implement on a given hardware for the sake of cross platform.
- jheriko 9y agoWhen did Apple start making hardware exactly? It’s not their design at least so far ... afaik. That’s when this matters
- saagarjha 9y agoApple was basically the top buyer of Imagination GPUs for years, and worked very closely with them. Last year they severed ties and made the GPUs in-house.
- djrogers 9y agoNot sure why people are simply downvoting you without answering your question. Apple shipped its first in-house GPU with the A11 Bionic in the iPhone 8/8+/X, and by all accounts it’s a marvel of engineering and quite fantastic for a first outing. And you’re right - a look at the developer docs for Metal do show that ‘this matters’ [1] https://techcrunch.com/2017/09/12/the-new-iphone-8-has-a-custom-gpu-designed-by-apple-with-its-new-a11-bionic-chip/ https://techcrunch.com/2017/09/12/the-new-iphone-8-has-a-cus... [2] https://developer.apple.com/documentation/metal/about_gpu_family_4 https://developer.apple.com/documentation/metal/about_gpu_fa...
- GeekyBear 9y agoApple built its own custom GPU core starting with the iPhone 6 — and nobody noticed https://www.extremetech.com/gaming/238246-apple-built-its-own-custom-gpu-core-starting-with-the-iphone-6-and-nobody-noticed https://www.extremetech.com/gaming/238246-apple-built-its-ow...
- johncolanduoni 9y ago95% of the time Vulcan exposes much more low level detail than Metal. A good example is that Vulkan requires you manually lay out buffers/textures in GPU memory, while Metal only lets you bin them into heaps. Vulkan also requires much more manual synchronization. Vulkan also exposes a lot of features (conventional tesselation shaders, geometry shaders) that Metal lacks. Metal’s main advantage is that it lets you adopt more manual management incrementally (you can basically use it as a DX11 analogue if you’re not interested in low level performance gains). Vulkan is definitely intended primarily for engine developers, not for one-off games.
- pjmlp 9y agoContrary to urban myths game consoles also don't do OpenGL, so AAA game engines always have multiple backends anyway. And such studios prefer APIs that fully expose the hardware, and then build their own abstractions, than something that hides that extra performance features. All major AAA game engines already support Metal.
- jheriko 9y ago+1. They supported it ages ago ... and OpenGL was never cross platform anyway (!)
- corysama 9y agoThere is a persistent myth that the PS2 and PS3 supported OpenGL. I've worked on both and I can tell you that the implementations were nothing more than experiments that were used by near-zero and zero games, respectively.
- pjmlp 9y agoEven Linux PS2, which I own, never had a proper GL implementation, rather a kind of mini-GL and an high level version of the PS2. https://web.archive.org/web/20100524023205/http://playstation2-linux.com:80/ https://web.archive.org/web/20100524023205/http://playstatio...
- GeekyBear 9y agoWhen Apple announced Metal, Alex St. John, one of the original creators of DirectX, posted his take on why this happens: >At the time that DirectX was created Microsoft also largely controlled the OpenGL standard, the success of DirectX in gaming caused Microsoft to largely lose interest in OpenGL leaving it in the hands of the 3D chip OEM’s to advance as an open standard that they could use to pressure Microsoft to implement features they wanted in DirectX. Apple’s adoption of OpenGL and subsequent active participation on the ARB breathed life into OpenGL in mobile gaming because Apple’s iPhone implementation of OpenGL became the “standard” that other mobile phone and chip vendors had to emulate if they wanted to get IOS games ported to their devices. Without some form of “standard” hardware definition, OpenGL drivers and media drivers in general are often just a grab bag of broken inconsistent functionality. Of course in the absence of a “DirectX” like media API of their own design, Apple had little choice but to jump on the OpenGL bandwagon and ride it for gaming, but clearly it is not to Apple’s competitive advantage to be propping up OpenGL support in mobile for all of their competitors. Just as it did for Microsoft, creating their own proprietary gaming API’s is entirely in Apple’s strategic interest…. Why help Android siphon off their game developers by propping up OpenGL? https://web.archive.org/web/20140606055700/http://www.alexstjohn.com/WP/2014/06/03/apple-ditching-opengl/ https://web.archive.org/web/20140606055700/http://www.alexst...
- djrogers 9y agoThey want to control the APIs so they can tie them more closely to their hardware. Most game devs I’ve heard from that want cross platform are more concerned with wether Unreal or Unity supports Metal than what OSs supppory which OpenGL or Vulkan APIs.
- sudhirj 9y agoDoesn’t each OS simply provide a high quality and constantly supported API locked to the OS? And leave it to third parties to map any other standards on to it? It seems like DirectX is to Windows what Metal is to macOS - they’re both locked, supported and optimised around the same, no? Nobody is expecting Microsoft to add native Vulkan drivers on Windows, why would that be expected of Apple?
- kllrnohj 9y ago> Nobody is expecting Microsoft to add native Vulkan drivers on Windows, why would that be expected of Apple? Windows has modern, fast OpenGL & Vulkan support due to Windows allowing IHVs (nvidia & amd) to supply the implementation through the Installable Client Driver model ( https://docs.microsoft.com/en-us/windows-hardware/drivers/display/loading-an-opengl-installable-client-driver https://docs.microsoft.com/en-us/windows-hardware/drivers/di... ), which they do. It's why AAA games have already shipped Vulkan and performed superbly with it (Doom, DOTA2, etc...), since they work with the IHVs to tune & fix bugs and then ship the driver update along with the game drop. Microsoft doesn't support Vulkan or OpenGL, yet they also are not blocking them. That's the critical difference here. Why is Apple not allowing Nvidia or AMD to do the same on macOS? It's not a question of not supporting it out of the box or doing the work, it's a question of preventing others from supporting it.
- GeekyBear 9y agoNvidia and AMD didn't take over supporting OpenGL when Microsoft abandoned it out of the goodness of their hearts. They did so because they were in a highly competitive marketplace and supporting OpenGL was a competitive advantage. Meanwhile, on the Mac, the cheese grater Mac Pro is the only model you can install their graphics cards into and it exited production half a decade ago. The problem isn't that MacOS lacks Kernel Extensions. The question is why should Nvidia or ATI take on the expense when there is no marketplace to compete in.
- kllrnohj 9y agoThey both have competitive Linux drivers which has even less market share. Given how little kernel-specific is even in the driver I don't see any reason to believe Nvidia or AMD wouldn't happily provide their latest and greatest driver. Especially since they are competing for that bid for whose GPU Apple blesses for that generation of Mac hardware.