Metal Meltdown 8x

It’s that time of year again where the Apple Panzer divisions roll out and explain their plans which territories to annex next. So far nothing new here, ‘cos ultimately everyone saw it coming that they are going to usurp the streaming market, roll out new versions of OS X and iOS and show a few other things at WWDC. What got everyone fanboys wetting their pants is that tiny segment showing After Effects doing a few things faster based on the Metal API. As usual, the misinterpreted and misconstrued magical 8x speed gains are already making the rounds on the web, so let’s attempt a little damage control and assess the details. So what is Metal? First and foremost it’s “just another acceleration API” like OpenGL, OpenCL, CUDA, DirectX or what AMD recently tried with Mantle. The sheer number of possible choices already indicates one of the problems with this – any developer has to pick one or two which he actually can support and that decision will be driven by the specific requirements, but in turn affect how many users actually benefit from it. Apparently programming a number crunching physics solver in CUDA is different from a DirectX shader in a game. Metal tries to be a bit of both as generalized framework, which is a good thing and since it’s already built into iOS and OSX and freely accessible to registered developers, it should be relatively easy to use without being locked to and having to worry about a specific third-party hardware from nVidia or AMD while at the same time someone else already takes care of compatibility issues on the operating system level. Sounds great, so what’s the problem? Of course it is in its own way proprietary – it only works as long as you actually use an Apple device and care to use the latest operating system. Now they have promised to release everything as OpenSource, but which licensing terms will apply, nobody knows at this point. So there may never be Metal for Windows, Linux, Android or whatever you can imagine. Assuming there were, how long would it take before seeing wide adoption? When you look at CUDA and how long it took before some 3D renderers or simulation tools using it came out, you can get an idea. This will take at least three to five years (outside of the Apple world, that is) and then people would still need a good reason in the first place to use it. That’s where finally after all my theoretical hubub it gets interesting. Point in case: Unless this sees widespread adoption, it may not be worth everyone’s while. This also brings us back to the topic of this thread. While Metal and building Adobe‘s programs on it may resolve many of the much-bemoaned issues that plague the programs on Mac like poor performance even on a Mac Pro, one should not be fooled. Just like with any acceleration framework, not all features will benefit in the same way. There’s only so much you can throw at even the most powerful setup and that only applies when the program is actually written to use those APIs. Just installing OS X 10.11 will not magically turn After Effects CC 2015 into a rocket, because it doesn’t use any of those features (but of course still has the generic under-the-hood overhaul stuff that will speed things up). Remember: The version shown was specifically tailored for this demo and not the one you will be getting. So, if at all, this might be in next year’s version or the usual autumn release (the one synced to the updated Cinema 4D stuff). Finally, and you knew this was coming, I remain skeptical about all this acceleration stuff, even if I fully recognize that for Apple it’s an elegant way to unify their development for iOS and OSX in order to provide a framework for apps and programs that use such features. For Adobe the real challenge will be to not let it dictate their development. They did that once with Raytrace 3D in After Effects and prematurely committing to a technology that just wasn’t ready and look what it got them! The other genuine concern I have is fragmentation and the separate platform-specific development branches drifting apart. This is potentially another disaster waiting on the horizon when your cross-platform stuff may no longer be that compatible, after all. It could also be burdensome for third-party developers, since their code would need extra provision for supporting multiple acceleration infrastructures. Mind you, none of this is impossible, but it’s about Adobe “getting it right” for a change…

%d bloggers like this: