Full program multi-threaded support
After Effects would benefit greatly from being able to actually utilize all cores when rendering, rather than having to rely on a third party solution, like the excellent program Render Garden by Mekajiki.
(This post was co-authored by Tim Kurkoski (After Effects Product Owner), Andrew Cheyne (After Effects Engineering Manager), and Victoria Nece (After Effects Product Manager).)
This thread has been sitting here for quite a while without a response. To start, we want to apologize for that. We haven’t been ignoring you or your feedback – this is just a particularly complex topic. That said, it’s time for us to check in with you, clarify a few things, and give you an idea of what we’re looking at for the future of After Effects, especially when it comes to performance.
Before jumping into the specific request here (multi-threading AE), we should talk about how the AE team looks at performance in general. There are three areas:
- Rendering Performance: How fast can AE get pixels onto your screen?
- Interactive Performance: How fast does the UI respond to your actions?
- Workflow Performance: How fast can you complete a task in AE?
All three are important. All three impact how quickly you can make creative decisions and get your work done. This request and this discussion are focused on the first area, rendering, so we will focus on that, however we don’t want to lose sight of the bigger picture.
What have as the AE Team been doing? When we set out to tackle rendering performance, we looked at the potential improvement offered by different technical paths. And we set a high bar: we didn’t want to just have an incremental speed increase. We wanted a major leap forward in rendering power.
The obvious technology that would enable us to achieve that goal was leveraging the GPU. Because GPU processing power has leapfrogged the CPU — and is explicitly designed to handle this type of processing — the decision was made to invest in getting AE’s core rendering pipeline running on the GPU.
This is not a small task, and we’re not done yet. The most visible result of this effort has been the porting of individual effects to the GPU – more than 40 so far. Less visible is the work we’ve done getting the rest of the After Effects rendering pipeline on the GPU, such as layer transforms and motion blur or debayering RED raw R3D footage.
We still have further to go, as the real power of the GPU is unlocked when you don’t have to send a frame back and forth between CPU and GPU for different stages of rendering. As more links of the GPU chain come online, you can expect further rendering performance gains.
We do know what you’re thinking at this point. You want to know what we’re doing about multi-threading.
We all recognize that After Effects would benefit from additional general-purpose multi-threaded rendering. And while we can’t get into specifics here or make any promises about our future roadmap (that’s all confidential when you’re a publicly traded company), we are actively working on multi-threaded CPU rendering.
Ultimately, when it comes to achieving the best rendering speeds possible for AE, we know we’ll need a combination of GPU and CPU processing that maxes out all the resources on your machine.
We recently partnered with the folks at School of Motion and they did a fantastic video on how to get a more optimized system for After Effects: https://www.schoolofmotion.com/tutorials/after-effects-computer
Please keep posting and letting us know what you think. We’ll continue to watch this thread (and all the others on UserVoice). And we appreciate your patience with our response to this post.
@Seth with all that ram you could run 28 commandline processes pretty efficiently and at least 10x your render times. Check out something like RenderGardern
The new mac pro offers up to 28 cores and 1.5 TB of ECC RAM. I dream about what I could do with this beast if AE offered full multi-core support.
Oh well, enough with the silly daydreaming, back to my single core renders.
Mark Dodge commented
You there bro?
joshua jordan commented
Please add multi-threading support
Cyrill Studer commented
Any news from Adobe on this? Or on performance in general?
It seems rather ridiculous that premiere pro and after effects perform worse than its biggest competitors, namely, Final Cut and DaVinci Resolve at pretty much any task.
@Anonymous (from one to the other):
It wasn't buggy per say: The efficiency of the Render multiple frames simultaneously feature depended a lot on how much external ressources / footage was involved in the project. The more external footage, the longer it needed to launch (probably because each core had to load them all separately).
But when the project involved light external ressources (like stills or logos), or none at all (with everything generated within AE), it always worked very well, and very fast.
It also required a lot of ram allocated to each core (at least 3 to 4gb in my opinion) to avoid immediate bottlenecks.
In an ideal world, Adobe would have updated it to make it snappier with complex projects, and optimize it's ram usage. Instead they chose to remove it (and not even honestly since they initially announced it as "temporary").
That was a terrible move of course. Even without updates, they should have kept it, explained how it worked better, and underlined it's limits. That would have allowed users to use it when needed, gain a huge amount of time on most of our renders... and spare us the lecturing from lazy know-it-alls (especially on Reddit) telling everyone it just "didn't work".
It worked very well (and still does) when used right.
@Seth cool, that would do the trick. Don't have CC 2014 anymore or I'd give it a shot! Personally never used multiprocessing anyway, it was too buggy for me - more often than not it would just hang during RAM preview and not actually render anything (Win 7 here). Been rendering to image sequences for years and it goes amazingly fast, I even wrote a little article on it a while back but can't remember where that is now. I got 10x speed increase during non-GUI render on just one station, and forget about it when I send that to our farm! Can't recommend Deadline more if you're at a studio with more than a handful of people. I believe they even have a free version for less than two licenses (used to anyway).
@Anonymous: Disk Cache was deactivated on both versions.
(And besides, yes, there are separate folders for each versions.)
If you have doubts about how this test was done, you're welcome to run your own. The more evidence of the problem the better anyway.
Yaneev T commented
@Anonymous there is a separate disc cache folder for each AE version installed on your computer (at least on the mac).
@Seth That only clears RAM (the first layer of cache), the disc cache stays on the ...disc. I'm not 100% it goes across versions, but supposedly it does. If you purge "All Memory & Disc Cache" you'll see gigabytes of data get deleted which is stored in temp folders on your local drive.
@Peter: Thanks for the tweets!
@Anonymous: I restarted the mac before each render.
@Seth Hopefully you didn't forget the persistent disc cache, which would *theoretically* work across application versions. If you didn't clear your cache then the CC 2018 render might have been piggy-backing on your earlier render, meaning this performance gap might have even been bigger...
Ahaha that support thread is hilarious! Can't tell if I'm crying tears of laughter or tears of sadness...
Not trying to lessen the gravity of this scandalous problem with Afx still not being hyperthread ready. (Hyperthread began in 2004...)
But, while we wait, As I said already in that thread, I found a painfull workaround that revives the "multi-After effects launched in parallel" solution we had in 2014. (Wich is still not a good way of doing things in my opinion)
Works great for final renders.
When projects renders certain effects with on core out of my ten, I can see with tears in my eyes, 8-12% usage uf my CPUs.
I launch ten render garden instances and I get 80%.
If that's of any help.
Spamming their twitter is a good idea too ;)
Holy sh*t Seth, we all thought it was bad but it's good to have an actual test confirming it. Maybe also try contacting people like School of Motion, Lester Banks etc, people with big email lists that might be interested in this test, write an article on it and could pick up some real traction.
Agreed. I'm keeping it polite.
Ian Davies commented
Addendum: Tim Kurkoski is the After Effects Product Owner: https://twitter.com/tkurkoski
Again, personal Twitter account, so act accordingly :)
I've tweeted this to Victoria Nece.
Ian Davies commented
@Seth - Ouch :(
@Seth - thanks for this. That's genuinely shocking.