Embrace. Extend. Then extinguish.
Just Replace. Extinguish.
On PC: Maybe by number of games, but not by the number of players.
(I count Fortnite as an outlier because it's technically not built on a third-party engine)
There's LoL, Dota 2 and Overwatch using their custom engines with huge numbers of players but... What else? CS:GO?
The OP's point was that the companies that make these engines can afford to invest in supporting an additional back-end API though. I think it's hard to argue that any of the companies that develop these engines would not be able to also add a Metal back-end. Many of them already work across a pretty wide range of back-ends anyway. Xbox One, PS4 and Switch all use completely different API's, for example. I think most of the work is not in adding an additional backend like Metal, but in tuning the back-end for some specific piece of hardware (NVidia vs. AMD vs. mobile GPU, etc).
Whether companies are actually willing to invest in a Metal back-end remains to be seen, but considering many of them license their engine for commerical use, I would be surprised if the major players will simply ignore Metal.
I tend to agree with Jonathan Blow's comments on Twitter, that the low-level graphics API should be just that: as low level as possible, small, focussed, and not actually intended (but still allowing!) to be used directly. Engines or higher-level API's can be built on top of that, with the option to dive down to the lowest level when needed (which will probably be a rare occasion).
DirectX will definitely not be this API because it is Windows specific. Likewise for Metal because it is Apple-specific. Blow appears to be of the opinion that Vulkan is also not moving in the right direction, because it is becoming too complex, and trying to be too many things for too many applications at the same time.
If true, in a sense, it's not that surprising Apple is doubling down on their own API. I think they should consider making the API open-source though, and develop something like MoltenVK (but the other way around) for Windows/Linux.
OP doesn't know the diminishing profits of the AAA gaming industry.
OP would never have to justify to producers and directors why <1% of gamers should take 30% or more of rendering architects time.
My answer was aimed at that part. But yeah, maybe we should define what "custom" is.
more people than ever do.
What's the "etc"? Are there any other engines in that set?
Go back in time six years ago. What were Apple’s choices?
(1) continue to live with the deficiencies of OpenGL. Remember that, over time, it had come to fail at one of its primary purposes which was to provide efficient access to GPU hardware. Further, sticking with OpenGL would be to accept the leadership of a group that had allowed its flagship standard to falter.
(2) They could marshal their resources and create the better API that the Khronos Group wouldn’t/couldn’t.
They really had no choice. Note that Vulkan wasn’t announced until after Metal was released.
The gripes in this are should really be leveled at the Khronos group, which fumbled their stewardship of OpenGL and, with it, the chance to lead open GPU APIs.
The entire point of Mantle was to be a proof of concept that could be reworked into cross platform API (which became Vulkan), there was plenty of work already being done by Khronos in 2014 (and Apple knew this). And they just went out and released Metal anyway.
I also blame Microsoft for the same thing, early parts of the DX12 docs were taken word for word out of the Mantle docs, that's how similar they are. But Microsoft at least had couple decades of having a competing API, but Apple went out to create a new one for some reason.
It started as an AMD/Frostbyte proprietary API.
https://community.amd.com/community/gaming/blog/2015/05/12/o...
AMD was basically in the same position when they started Mantle (at about the same time, no less.).
They chose differently. Now we have Vulkan. No thanks to Apple.
I'm not sure they should have spun around and dropped Metal for Vulkan once it became available, or slow down the pace of progress til the rest of the market caught up. Doesn't make sense.
Also Apple is perhaps the largest GPU manufacturer in the world, with 200-250M GPUs shipped in 2017. That is 4-5X of Nvidia! Also Apple is investing highly in AI from tools to devices to GPUs, being able to customize may have tremendous value.
It is highly possible that Apple sees owning their interface stack as a means to keep their software-hardware warchest a couple years ahead of the competition. Which in mobile has been paying off of the last 5 years, as they constantly have crushed all others by 2-3X.
What developers will do is go out of thier way to support iOS and supporting the Mac is just a side benefit. Just like almost every printer company supports the Mac as a byproduct of wanting to support iOS.
This may sound crazy, but remember there are billions of iOS devices out there in the world, and I don't think X boxes plus windows game machines count in the billions.
Its true Apple hasn't won the hard core gamer market, but they are no longer the niche player that had to cater to windows users.
There should do, albeit not for gaming but most of the office software is Windows with DirectX support. You won't be playing on, though.
Also looking at Apple's sells every year since the 6 came out, I doubt very seriously that Apple has sold more 6 phones than 6S, 7, 8, and X phones.
Also if the 6 from 2015 is not a powerhouse, neither is Samsung S8 that was just introduced last year....
http://bgr.com/2017/05/23/iphone-6s-vs-galaxy-s8-speed-test-...
Being able to run anything slightly demanding is other thing, but you can't argue there's no support.
Also, the benchmark you linked is for application load, which is heavily influenced by storage speed and load method (android has to JIT compile sometimes) and has almost no impact from the graphics' performance other than the bus between CPU/memory and GPU
Oh wait, you can't.
In fact, they couldn't get their act together, keep with current versions, and as a result titles like Elite Dangerous were being shut down anyway. Reason: OpenGL stuck on an old version without support of compute shaders.
https://forums.frontier.co.uk/showthread.php/424243-Importan...
https://support.frontier.co.uk/kb/faq.php?id=228