On Vulkan, the Android Equivalent to Metal
Samsung’s latest Galaxy phones were announced a few days ago, and while there’s little there to tempt iPhone owners, it’s inclusion of the Vulkan API is interesting. Vulkan is an open-source quasi-competitor to Apple’s Metal API, allowing games to access far more GPU power than possible under the old OpenGL-ES API.
Android Central put together a good primer on what Vulkan is, how it’s superior to OpenGL, and how it compares to Metal. Even if you’re only interested in the iOS ecosystem, some of ways Vulkan works are similar to Metal, so potential performance improvements are comparable.
Ask anyone currently working with OpenGL in gaming about the need for something better, and you’ll get the same answer. Yes, now please.
[…]The goal of Vulkan is to make it easier to get better graphics performance by fully utilizing your multi-core processor. Multi-threading means Vulkan can do what OpenGL ES can’t, and the end result is an overall performance boost.
Regarding some of the challenges Vulkan faces compared with Metal, game developer Brianna Wu offers this:
It’s fair to call them similar, as both technologies are trying to solve the same problem. This OpenGL stack is untenable, it was written in an age with this single-core paradigm and it just doesn’t work anymore. Apple rolling out Metal makes a lot of sense for them. The difference for Apple is they can look at a list of drivers, a list of GPUs, a list of displays, and they have a lot of control over the hardware. They can bring someone in to program this stuff in Assembly, and it’s a tenable way forward. Vulkan is trying to solve that same problem in aggregate, but it’s a much wider thing that they’re trying to implement. It’s a much, much harder problem to solve especially when there isn’t a corporation the size of Apple leading that technology.
If you’re interested in the technologies used to power high-end games, this whole article is worth a read.