Ray Tracing in After Effects CS6
The Best New Feature that You May or May Not be Able to Use
While I was busy making Canadian Lysol commercial history, Adobe released Creative Suite 6, including a major update for my favorite creative software of all time, After Effects. The new version includes some exciting new features:
- Variable mask feathering
- 3D camera tracker
- Global Performance Cache (sexier than it sounds)
- Rolling Shutter Repair tool
- Ray-traced 3D extruded layers
Each of these features is worth its own post, so I’ll just pick one to start. The ray-traced 3D renderer is the first major update to AE’s 3D capabilities since they were first introduced in 2001–2002. AE was way ahead of most of its competition (except flame, of course) in bringing 3D capabilities to a compositing environment. At the time, adding 3D layers to a dedicated compositor was a somewhat controversial move. But now it’s hard to imagine compositing without a 3D environment, and After Effects has been lapped several times by its competition in 3D features. So I’m happy to see true 3D geometry finally spinning in my AE viewport.
I could be happier though. The After Effects 3D renderer is a powerful and feature-rich ray tracer. It supports motion blur, depth-of-field, diffused reflections, and soft shadows, all in 32-bit floating point color. The results can look amazing.
But ray-tracing can be computationally expensive. Adobe decided to accelerate their new renderer using the NVIDIA CUDA technology, where the massive parallel processing capability of a GPU is turned to general computing tasks. And indeed, on a supported system, After Effects CS6 can ray-trace pretty darn fast. The above iPhone animation rendered in 2 hours, 15 minutes on a machine with a $2,000 NVIDIA Tesla C2075 GPU. On a Quadro FX4800, it took 15 hours.
The problem is, I don’t don’t happen to own one of these supported systems. My MacBook Pro has an NVIDIA GeForce GT 330M, but that’s not beefy enough for AE6, so I’m stuck with CPU rendering. And my top-of-the-line, pimped-out iMac has an AMD GPU. So again, no dice. And by no dice, I mean you would not want to try to render something as simple as a pair of dice. On my $3,000 iMac, one frame of the iPhone animation takes 48 minutes.
I don’t begrudge Adobe the decision to accelerate the ray-tracer for CUDA, but I do regret the seeming prioritization of that optimization over any kind of CPU usability. If you have a CUDA card, you can use and enjoy the ray tracer. If you don’t, you pretty much can’t. I mean, sure, you can try, but the render times will very likely dissuade you. This binary hardware differentiation between the ray-tracing haves and have-nots is, to me, unbefitting of After Effects, which has always struck me as the “people’s choice” compositor—such a paragon of accessibility that I consider it a must-have tool for the DV Rebel. I expect Autodesk to ship something that requires esoteric hardware, but not Adobe. And yet, at the same time as the CS6 announcement, Autodesk announced a greatly updated Smoke for Mac, one of the primary features being that it works on just about any Apple hardware, including my iMac.
But surely it’s impossible that a ray-tracer could ever be as fast on a CPU as on a GPU, right? Maybe—but there are numerous well-established optimizations available to ray-tracers, including sub-sampling (where areas of sparse sampling are interpolated rather then allowed to be noisy), adaptive sampling (where the number of ray samples required for each pixel is adjusted based on scene content), and progressive refinement (where low-quality results are shown to the user rapidly, and then iteratively built-upon for higher quality). The After Effects ray-tracer has none of these. It’s a brute-force multi-sample renderer—the kind you’d write if performance in a massively-parallel computing environment (i.e. a specific GPU) was your sole concern. I wish Adobe had put their efforts toward making their renderer as fast as possible for all users.
I know it’s fashionable to hate on Adobe, but I have never felt a part of that crowd—probably because the Adobe tools I use, After Effects and Lightroom, are shining beacons of awesomeness within the company. I’m quite the opposite of an Adobe hater. So seeing After Effects sprout a feature we’ve been anticipating for a decade, only to have it tie users to specific, high-end hardware, feels a bit like seeing a good friend make a bad life decision.
As more and more of us use laptops as our primary machines, and as those laptops are getting smaller and lighter rather than necessarily more powerful, Autodesk is heading in the right direction, and Adobe is not. This, to me, was the big surprise of the post-production announcements at NAB 2012.
Want to know how I rendered these sample movies? I tried doing it on my mini-render farm of CPU-only machines, but it took days (of my laptop being too hot to touch) to produce unacceptable results. Smooth motion blur, fuzzy shadows, diffracted reflections and depth of field require a lot of samples (controlled by the anti-aliasing setting), and if I turned up the quality enough to stop seeing noise (for the iPhone, that was 14), those renders would still be going today. So I sent the project files to a friend with a CUDA GPU. A friend who happens to work at Adobe.
Wouldn’t it be amazing if you could do that too?
No, seriously.
Along with CS6, Adobe unveiled Creative Cloud, which includes subscription pricing for the Creative Suite applications. But is that really what After Effects power-users need from “the cloud?” What if that subscription also gave me access to a cloud-based render farm that is constantly Backblaze-syncing with my work directories and is ready to instantaneously render my 1,000-frame animation on 1,000 virtual machines at the push of a button?
Then what if Adobe removed the button?
It used to be my dream that After Effects would speculatively render my work in the background, using every ounce of my computer’s processing power. Now I want the same thing, but with Adobe supplying the processors. That would be worth a subscription fee.
The “big iron” days are over. Simplicity is the new powerful. Fast is the new good. The computer is the new hardest working guy in the room. Except it’s no longer in the room.
I can’t wait for my favorite creative software of all time to realize that.
Don’t miss the follow up post.