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.
Peter Labrow commented
What @Chris Corban said. With bells on.
Chris Corban commented
Here's a novel idea. Stop adding new features right now. Instead devote 100% of your attention to improving the performance of AE. Yes,100% - all hands on board to actually bring give AE the multi-threading capability it so badly needs. What a shame that I have to base my hardware purchases around AE's shortcomings. Sure the new MacPro or iMac Pro is impressive - IF YOU'RE RUNNING ANYTHING OTHER THAN AFTER EFFECTS. Those machines are an absolute waste of money if you primarily use the machine for After Effects. This is what everyone wants - no, needs! Please.
@Jakob Eriksen, looks like AE is dead for Adobe. The only things that keep it alive are the plugins.
Jakob Eriksen commented
Thank you adobe for your respons.
I have been using your software for 20+ years - every day. I know your software.
Everytime you optimise after effects it directly transcend to my life.
When using a software like Davinci Resolve or a game engine like unreal, unity I realize how bad your code is.
I have always been using Genars Sapphire plugins with your software - and I must say your software is the main bottleneck.
Hire more qualified programmers and fire markedting.
Julien Tomasi commented
I'v been asking that for years...
My Mac hardware has improved while After effect hasn't.
Most of the time After effect use only 5% of the power of my system...
Having to pay each month for that is a shame....
Daniel Gheorghe commented
MrBeep, that doesn't sound right at all. I mean, yeah, AE has its flaws, but what you're describing should not be happening. Perhaps there are other factors causing this behavior.
I'm working on a project where I have a simple FullHD scene with one rendered video sequence (loaded from fast NVME), audio and simple headline. AE can't even play this in real time (25FPS) with half resolution. What a joke!
prem patel commented
This is pretty grim. I hope within the next 6-12 months we see some serious progress on this. I mean it's been 6 years (or so) since this was removed, albeit it was pretty bad back then, hopefully the coders have been working night and day since then on this single task...
Paulo Eric Garinganao commented
Its 2020, we have real time graphics, real time simulation and almost all other tools/softwares maximizes the computer to deliver absolute performance. The optimization of other tools are super and are up to date. Its 2020 yet I feel like After Effects is stuck on the 2000s. Promising "improvement" to each release is frustrating and there little to no improvement at all.
Its so sad if you have to wait 6 minutes for the Warp Stabilizer an After Effects use only 4,6% of your CPU (24 Cores) and 0,6 of your GPU - Wake up Adobe!
Michael Szalapski commented
@Christopher Jeffries I'm curious what's in your benchmark. AE's speed is very dependent on what's in the project. For example, I was just helping out a fellow user over at /r/AfterEffects on Reddit. He sent me a project that took nearly 4 minutes to render in CC 2014 with render multiple frames simultaneously on (3:48, to be more specific). I turned OFF multiprocessing in the preferences and it was significantly faster (1:09), but 2020 still beat the pants off of it at 0:15. Going from well over a minute to only 15 seconds is pretty good. Link to discussion here: https://www.reddit.com/r/AfterEffects/comments/ft1kh8/why_is_my_performance_so_bad/fm9rjyi
Christopher Jeffries commented
Today I re-ran the previous benchmark that I've been running since 2008.
That's not a mistake: The year two thousand eight. Two Zero Zero Eight.
The earliest entry in my logs has a total time of 3m13s for the render.
Today's result has has a total render time of 2m32s.
Incidentally, the result from today is the **slower** than the previous entry from 2019-09-29 (CC2019 Version 16.1.2 Build 55) which had a total render time of 2m28s.
It seems that in almost 12 years AE has improved the result by 41 seconds, or roughly .01 second per day.
Is it safe to say that there's been no significant change on this front?
David Jackson commented
The issue is i’d say 100% of customers want better performance. I as a Mac user feel like adobe have massively neglected this customer base: the performance with ever increasing system power and core count has never utilised such things. Given the release of the new Mac Pro and the incredible power, AE doesn’t utilise the cores/cpu or indeed the GPU. It seems from an outsiders point of view way more effort on adobe’s account has gone into performance enhancement with Nvidia and windows. As a paying customer It’s frustrating. Never seems like any real improvement in performance. No enhancements really over the lifetime of the last Mac Pro and that had beasty Gpu’s and 12 cores, yet never managed to touch any of the kit. It’s always a promise to be looked into, something you’re working on but never seems to deliver. I was a big fan of multi threading and then it disappeared. Sure it had flaws but it offered some improvement. Other developers like render garden are able to allbeit not very well give us some help, so why is this a. Taking so blooming long, and b. Not that important? Customers feel like you’re resting on your laurels. You’ve got the adobe customers trapped because there is little else in terms of competition or indeed other offerings close to AE. But that isn’t good enough.
ad 4. Answer is simple. AE is maintained by one man. This gives one plugin per month + some time for maintenance.
1) Thx for your advice! I have tested it now with Z GPU and got a max. of 69% (30 GPU effects on a clip)
2) But it rendered only 2x faster with the GPU than on my 6-year-old CPU on only one core (CPU Load max. 36%)! If AE were really optimized without any bottleneck it should render 5-10x faster than my old single core oft the CPU.
3) Would you personally invest in a AMD 3950X (16 cores) or an RTX 2080Ti for AE in the future?.
4) Why is Adobe so slow in converting their Effects into a GPU version? We have got (i ignore the new VR Effects) only 30 convertet GPU Effects in the last 3 years. The Plugin Sapphire from Boris FX converted already 220 of their 270 Effects into a GPU supported version.
Sebastien Perier (AE Quality Engineer) commented
Hi @Patrick Proier
I'm Sébastien from the AE Team. What tool are you using to measure this GPU usage? It is true that we don't support multi GPU, but when using GPU effects (such as Lumetri, blur, etc...) AE will use as much GPU as it needs, and definitely more that 20%.
We know that Windows Task Manager GPU usage graph doesn't properly report AE Gpu usage.
@daniele Coraolo ... I would have invested in 2× 2080Ti if AE would really benefits from an GPU ...but it does not! Even my old GTX 980 never has more than 20% GPU load if I use only GPU Effects. Mostly it uses only 0-3% of The GPU ...AE has no multicore support, a very bad RAM management, an obsolet color management, no 3D engine and one of the worst GPU implementations ever! that's the truth :-) ... I think they have massive problems with the old core of After Effects. Adobe didn't listen to us (like today) and absolutely missed to rewrite the core of AE already 10 years ago.
Michael Szalapski commented
@Daniele Ciraolo After Effects GPU acceleration already works on Macs - it uses the Metal framework. In the current release, all of the things that are accelerated on PCs with NVIDIA cards also works on Macs with AMD cards. Fractal Noise, one of dozens of effects that's GPU accelerated is a fun one to play with.
Daniele Ciraolo commented
Hi I wonder why don't you consider all the professionals that work with mac?!?! and started to support amd video cards since on mac os there is no longer any support for nvidia cards? Please also work for those who use macs and not just gpu support for those who have nvidia !!! Thanks
Geechuen Lam commented
Hell, it never, ever supported multi-threading efficiently in the days I started working on AE in 2008.
Can only hope, but unless they design from the gound up - it'll probably never happen. AE is most likely a spaghetti code. Why redesign the core of AE, when you have a monopoly? there is literally no reason to do this from the company's standpoint.
@Martin Cook. Hey keyboard warrior, I guess you don't use AE for motion design. Fusion can replace AE on one task, and that's compositing. Which it's way, way better at.