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.
Ian Davies commented
@Anon The CPU throttling issue was related to certain MacBook Pros, not other models like Mac Pros.
Daniel Gheorghe commented
No, I'm on PC. It was a footage intensive project, with various effects applied.. Probably this is why AE "liked" more the ProRes export.. Don't really know, actually :)
@Daniel If you’re using a Mac, it’s probably throttling the CPU. This has happened on every Mac I’ve used in the past 3 years at least. Renders will happen much faster when the machine is cold than when it gets warm. Apple thought it was a keen idea to throttle the CPU instead of turn up the fans. The new design coming out is supposed to alleviate that. We’ll see.
Daniel Gheorghe commented
I only have an i7 3770k with 24 GB of RAM, but doing some tests with BG Renderer MAX, I got the following results (while exporting the same comp to the same SSD location and clearing RAM and disk cache between renders; I used 4 threads out of 8 in BG Renderer Max settings, as they recommend):
- AE renderer, export to PNG sequence, Trillions of Colors, RGB, no Alpha: time 3 min 33 sec
- BG renderer MAX, export to PNG sequence (without compiling movie in the end), Trillions of Colors, RGB, no Alpha: time 2 min 46 sec
- AE renderer, export to QuickTime ProRes 4444 XQ, Trillions of Colors, RGB, no Alpha: time 1 min 25 sec
I'm confused :)
Joshua Rutter commented
Upgraded to BG Renderer MAX. Far more elegant than the last version and does what Adobe is incapable or unwilling to do. Do yourselves a favor and just spend the $70. I grabbed it when it was on sale a month or 2 ago. Its a meal for 2 people. Just do it until Adobe gets off their butts.
Peter Labrow commented
I thought I'd take a look at the improvements list to see which feature users want the most. With 791 votes, it's this one. The next nearest has 421 votes. Hello, Adobe?!
Chris Jeffries commented
@Seth RE: Benchmark: Can you please share the benchmark project file so that others can run the same test?
If not, or in addition to yours, I have a benchmark file that I've been using for many years that I can share, and have also started logging the results on a Google Spreadsheet.
If there's interest in adding to the results list I can share; just send me a note:
(replace the space with an at-sign then add the dotcom to the end.)
The latest results are attached, and you can see from the total render times that the render times have not improved much over the years... Granted, those early results were from some monster workstations; IIRC they were various maxed out Mac Pro at a facilities in which I was freelancing. The machine I'm currently on is no slouch, but it's not maxed out by any means.
@Anonymous, about BG Renderer:
I've been using the Pro version for years. It does allow multi-core (so much faster) rendering, and you can also keep on working on your project (or another one) during renders, which is awesome.
Frankly, if only because of these two features, I can't imagine how anyone working on AE is not using it. (There are also lots of other perks, like being notified of a render completion by text message or email, shutting down or put the machine to sleep automatically after the render, etc...).
I'm not switching to the new "max" version just yet, as it has some limitations which may be a problem for me, but until it gets updated, I'll definitely keep using the "Pro" version. I couldn't work on AE without it anymore.
Nicolas Prigent commented
@Zend, considering that there's "aprilsfool" in the url of your article, I won't consider this as a good news... Hope destroyed.
Yaneev T commented
@Zend, the link leads to a non existing article.
on the other hand, searching the website for AfterEffects news leads to an article titled "After Effects Delivers Once Again".
that's kind of funny.
Big news guys!!
Ok, I read this article Adobe is about to add multi-threaded support and full-scale GPU acceleration:
Following up, the petition stalled at a mere 60 votes a few weeks ago. Please sign if you haven't and do spread the message in other forums, with co-workers, etc..
If anyone has benchmark projects we can also compare and I'll post those results in update on the survey. Thanks Seth for the benchmark post!
On a side note it's been indicated to me that chunks of the original core code have in essence become a black box to the existing dev team, a possible factor in why multi-frame processing was dropped. Adobe was supposedly reluctant to write a new version from scratch due to the extensive third party plug-in/filter eco-system. If this was the case, Adobe should've communicated this (though being a public company it's not surprising they wouldn't) and instead released minor iterative versions while beginning development five years ago on a totally new codebase: a next gen compositing/mograph software that leverages AI integrally. From what I understand, only parts of the software have been rewritten. This maybe conjecture and rumor, but it would explain the situation we're now in.
I'm curious to know what Adobe would need to do to their API to allow multi-frame plug-ins like Render Garden to work with RAM previews?
Any programmers here that could chime in? Especially from Mekajiki (Render Garden) or Extrabite.io (BG Renderer MAX)? Given the issue I'm surprised Adobe hasn't looked to acquire these tools for native integration...
Mehmet Kozal commented
Multiprocessing should come back.
Joshua Rutter commented
Used BG Renderer but not this. Seems like an updated version? I’ve traded emails with the owner of BG renderer and he explicitly states multiprocessing has been disabled since version XX, like we all know. Why this version states you can use multiple professors seems fishy? Seems like it does what the all do, just running instances of AE by skipping frames. Definitely speeds thing up.
Has anybody used this plugin here? It looks similar in process to Render Garden but quicker and easier to use?
Maybe the new Mac Pro will light a fire under them? Although....considering that mac is aimed strictly at the pro market and Adobe tossed us under the bus regarding this issue, they'll probably do nothing and continue on their quest to bring editing and motion gfx to the masses, on tablets and phones. Because what do hobbyists know or care about multi-core processing;)
Would've thought if it was #1 it would have beat the content fill out of the gate!
@Seth And that trend will only accelerate in the near future. Current Threadripper 2 offers up to 32 cores and Threadripper 3 will go to at least 48 cores, maybe even 64..with that 15% IPC and small clock speed bump on top that's going to be insane for programs that can take advantage of that power..
Mark Dodge commented
@Seth - imagine all that hardware and still watching AE render at a snails pace while Adobe is running all the way to the bank each month with your hard earned money!
Simeon in 't Veld commented
I hope the high core count trend which now also appeared in the new Mac Pro will push Adobe to get the multi-core support going... Highly doubt things will improve anytime soon tho...