Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not just Apple. This is what everyone forgets. It's Microsoft, Apple, Sony and Nintendo.

Every big vendor and platform for 3D games and software, has their own graphics API which work better and faster than OpenGL and Vulkan. It is only CAD still stuck on OpenGL (and the proprietary extensions).

Idealism is not the answer to positive end user experience.



"Every big vendor and platform for 3D games and software, has their own graphics API which work better and faster than [..] Vulkan."

[citation needed]

Not that they have their own API, but that it's at all better or faster than Vulkan. Remember Vulkan primarily came from AMD's Mantle. It's not the creation of a committee catering to the lowest common denominator.

And no, it's not only CAD still stuck on OpenGL. Games use it, too. Most of mobile is also on OpenGL ES. Increasingly more of them use it than they used to, even, as increasingly games are using off-the-shelf engines that are already cross-platform and have an OpenGL back-end.

The single largest consumer OS in the world (Android) only supports OpenGL ES & Vulkan, even, with no proprietary graphics API of any kind.


Actually, most iOS games in recent years have been using Metal, as are most “off the shelf” engines internally.


> Actually, most iOS games in recent years have been using Metal, as are most “off the shelf” engines internally.

Largely due to support in Unity/Unreal. They would be using OpenGL ES still if they had their own engines except maybe the biggest game studios that always have custom game engines/rendering integration.


iOS is not the largest mobile OS, so 100% of iOS could be doing something and it still wouldn't be "most of mobile" ;)


Most mobile users who matter (revenue).


Revenue per graphics API would be fascinating, albeit very different, investigation. It would likely also put OpenGL on desktop in a very different light given the professional products still using it.


iOS is definitely the most used mobile OS.


Do you have a link for that stat? Last time I looked android was quite a way in front in global market share[1] . Happy to be proven wrong.

[1]: https://www.idc.com/promo/smartphone-market-share/os


I don't consider "Android" to be an OS. It is like Linux, there are a hundred different OSes all running on top of the same kernel and framework. For example, the OS Samsung runs on their phones is so different from the OS Xiaomi runs on theirs that a casual user might think it's a completely different system.

So lumping together all of these variants and calling them "most used OS" is not useful in any sense. They are very different for users, and very different for devs.

This is specially relevant when you want to develop a game against a graphics API. Samsung has Vulkan on their flagships for a couple years now, but not the mid/low-end devices. Pixel supports Vulkan, but the units sold are so low that they are a rounding error. No other major manufacturer significantly supports Vulkan either. In this and similar scenarios, the framework used by ios may well be the "most used" mobile framework.


> I don't consider "Android" to be an OS.

Then you're correct by your definition, but not by most people's definition.


Vulkan support on Android is basically constrained to a few Nougat and Oreo devices.

And even then, it is only required on those that support VR.

Metal is supported on across all iOS devices still getting updates.


Android only requires GLES 2 yet 63.6% of devices support GLES 3+ anyway.

Since nearly everyone's GLES 3 hardware both supports vulkan & has vulkan drivers already there's no particular reason to believe that an OEM will decide to just not ship vulkan support. It's more work for them to remove Vulkan from the SoC's base image than it is to just not touch it.

The low-end GLES 2 hardware is the only problem, which is a market iOS simply doesn't exist in at all. So if you're cool with ignoring that market, go for it.


Well Godot engine developers don't have good experience regarding GLES 3 support, at all.

https://godotengine.org/article/abandoning-gles3-vulkan-and-...

Lets see if they have better luck with Vulkan.


I don't think that's necessarily true anymore. Vulkan and even OpenGL have shown a lot of promise recently, in real world tests. You may be right that it's simple idealism from my end but I (want to) believe that Vulkan is coming along at the right time/space to gain broad support in the industry. I'm no fan of DX12 either, or NVN or whatever it is that Sony has. The low level nature of MoltenVK and likely the future DX12 <-> Vulkan layer will result in a small enough perf hit that it will make sense for developers to target Vulkan instead of 3 different APIs. Perhaps similar libraries will become available for Sony and Nintendo platforms as well. I hope that the trend will continue and one day I won't have to resort to OpenGl ES in order to write something that's truly cross platform.


> Every big vendor and platform for 3D games and software, has their own graphics API which work better and faster than OpenGL and Vulkan.

True but console is a different beast though, it seems you are focused on that not just mobile which was always just OpenGL ES mainly since '07 until Metal entered the arena.

On consoles/custom handhelds, they have always had their own frameworks to get the most out of their custom hardware and for lock-in exclusives, to compete and advance their hardware as far as possible for the console lifeline, to sell as many games as possible as the hardware ages as game content is where they made profit. Consoles have modified versions of frameworks or their own like gcm from Sony. They do support standard ones but mostly people use the custom ones to get the most out of the hardware and the hardware makers like that.

On desktop, only two essentially in DirectX and OpenGL and was that way for a long time. Portability was fine, DX windows, OpenGL everything else but DX was the major one due to Windows desktop dominance.

On mobile, OpenGL ES on the major mobile platforms, iOS and Android, pretty much the only one since '07 until Metal.

As I mentioned in other areas, not a huge deal to game developers who aren't building their own engine but portability does matter on desktop and mobile, not just consoles which have reasons for custom rendering engines/toolkits.


and proprietary apis are not the answer to positive developer experience. time will show whether insisting on your own world-incompatible graphics apis will lead to developers writing custom apps for your platform, or whether they will use whatever lets them release on many platforms at once.


Professional game developers have been choosing proprietary APIs since ever.

They were the ones telling Sony that their efforts for having OpenGL ES 1.0 on the PS3 were not worthwhile pursuing.

OpenGL ES on the PS3 was barely used beyond prototypes and simple demos.


Indie titles shipped using OpenGL ES on PS3 and indies got Sony to eventually release an OpenGL wrapper for PS4 as well. If you want decent portability and all your game does is draw alpha blended sprites with simple shaders it could be a win. Questionable how much better that is than either making your game with a portable engine like most indies are doing, or using gnm directly.


mobile dev seems a lot more (for want of a better word) grassroots than professional game dev. lower barrier to entry, and a larger set of people who have a good idea they feel they can implement. also phones will probably bring up a lot of uses for a good high-performance graphics api that are not game-related, as people think of more and more things they would like to do with the computer in their pockets.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: