Metal in iOS 8: Explained
You know it's serious because Apple's Craig Federighi flipped a goat on stage at WWDC when he announced it.
Metal. If the name sounds hardcore, it's because it's a hardcore improvement to the way games will be able to perform on iOS 8. Metal represents a much more no-nonsense approach to getting the most out of the Apple A7's gaming performance, assuring users of the iPhone 5S, iPad Air and iPad mini with Retina display that their devices will continue to be top-notch game systems come this fall.
Right now in iOS 7 software called OpenGL ES sits in between the game and the core hardware that runs it, translating function calls into graphics commands that are sent to the hardware. It's a lot of overhead. And iOS 8 is getting rid of a lot of it.
Apple has developed a faster way to do it. They call the new system Metal, and it's not a reference to heavy metal music. It's a nod to the programming expression "close to the metal." But in Apple's hands, it's even closer than that.
What Metal means
Apple senior vice president of Software Engineering Craig Federighi describes iOS 8 Metal as providing "near bare to the metal access to the power of A7."
Federighi is talking about Apple's own A7 processor found in the iPhone 5s, iPad Air, and iPad mini with Retina Display. The A7 include's Apple's second generation custom CPU, Cyclone. It's 64-bit and based on the ARMv8 instruction set architecture. That's paired with an OpenGL 3.0 ES capable PowerVR Series 6 (Rogue) GPU, reportedly the G6430, and 1GB of DDR 3 RAM.
Metal lets developers target the power of that GPU far more directly than ever before. And it's reasonable to assume the same will be true of Apple's next processor, the A8, ostensibly coming with the next major iPhone and iPads later this year.
What Metal does
Draw calls, used to render all the objects in a scene in a 3D game, are up to ten times faster on the same hardware when using Metal. That means much faster, more responsive games with incredibly detailed environments.
iOS 8 gets a bump in game load time performance thanks to support for precompiled shaders. Shaders affect how an environment is lit and colored; they're an incredibly important part of rendering a realistic and immersive gaming experience. Precompiling them enables them to load faster.
With game developers always pushing the complexity envelope, this helps improve the user experience; after all, you don't want to sit around waiting for the game to load on your device.
All this was brought home during the WWDC keynote when Epic Games showed off a new work in progress called Zen Garden. It's a free app coming after iOS 8 is released that lets you play with water, sand, koi in a pond and other objects; thousands of animated objects interacted with the user and each other on an iPad Air screen.
A Mac Pro in your pocket
Another benefit of Metal is to provide developer access to the compute power of of the graphics processing unit (GPU) embedded in the A7 processor. In the right hands, this could be one of the most important aspects of Metal.
Enabling such access to the GPU means applications can be more thoroughly optimized for parallel processing.
This isn't as important to games as it is to almost everything else you do with your iPhone. Because tapping the GPU's ability to compute improves the responsiveness and potential capabilities of video, photo, and audio software, and more too.
Having powerful programmable graphics processors is one of the many reasons some software can run really fast on that black beauty, the 2013 Mac Pro, which is equipped with dual workstation graphics systems.
How'd you like to have a Mac Pro in your pocket instead?
OK, maybe I'm prone to a little hyperbole. But I'm sure you see the point.
The bottom line
Metal's yet another tool in the arsenal of game developers who are making titles for iOS. Metal is aimed at game developers looking to push the performance envelope, unlike SceneKit, another iOS 8 game technology announced at WWDC 2014 aimed more at casual game makers.
Metal will run great on the existing hardware based around an A7 processor. If you have an iPhone 5S, iPad Air or iPad mini with Retina display, you can be guaranteed it'll improve your hardcore gaming experience once iOS 8 is out in the world. Unfortunately, this leaves out users of earlier and slower devices, including the iPhone 5, 5C and older iPads and iPad minis.
For now this is a "coming soon" feature that won't be out until the fall when iOS 8 is released; some games will take advantage of it right away, while others will make the Metal migration over time. Bottom line: If gaming performance is important to you and you're using an iOS device with an older processor, start planning out your migration strategy now. And anticipate Apple will have even faster iOS gear ready later this year.
Are you a game developer or developer of another app planning on tapping into Metal? Or are you just excited about seeing the benefits as a user? Tell me what you think in the comments.