During the WWDC keynote, game developers showed off impressive scenes that Metal helps make possible.
Modern GPUs and CPUs both have multiple cores—they can walk, talk, chew gum, and juggle all at the same time—and Metal provides a way to unlock all of that power by allowing for multiprocessing of graphics commands. OpenGL, by comparison, was always single-threaded and so couldn't achieve a similarly adept usage of the actual hardware.
It isn't just better graphics performance that Metal unlocks. It also supports a model of what's called "general purpose graphics unit computing"—that is, using the GPU to run software that's not necessarily graphics-related. OpenCL, which may be familiar to Mac users, is the open standard for writing software that executes on GPUs. Metal brings this kind of general purpose graphics programming ability to iOS. As the name suggests, OpenCL is very similar to OpenGL and so the design of Metal offers benefits for OpenCL similar to the ones it does for OpenGL. The baked-in idea that memory is shared between processors is a big win here too.
Metal's benefits are wide and varied, and apply to more than just games and graphics.
It's the same story for multithreaded access. With the general purpose computing capabilities of Metal we'll start to see the A7 really shine in unexpected ways. Apps like Capo will be able to leverage the GPU on iOS as it does on OS X in order to accomplish software tasks that previously hadn't been possible.
Benefits for all
Which is all well and good, of course, but what does this all mean from the perspective of an iOS device user? In some ways, advancements like Metal are similar to building the Large Hadron Collider--we actually don't know exactly what kind of opportunities we'll discover, but it's a brave new world and one that's full of possibilities.
In a more practical sense there are concrete benefits that users will certainly appreciate, including faster load times (due to better resource management, pre-compiled shaders, etc.), more detailed worlds (due to the faster draw calls, more stuff can happen or be drawn), and likely a ton of applications that can use the GPU as a computational platform.
Of course, none of these apps simply appear because Metal has been introduced. Developers will need to adopt the new system and write their software specifically for it. But, the good news on that front is that the major game companies on the iOS platform have already demonstrated their commitment. Both Unreal and Unity, the two biggest game engines, have announced support for Metal. So, even without developers investing in understanding and implementing an engine with Metal, many big games that use those systems will benefit from its improvements anyway.
Sign up for MIS Asia eNewsletters.