Introducing the Introduction
When it comes to After Effects, “performance” is a complicated topic. The notion of performance affects every single After Effects user, and yet it’s one of the most divisive, nuanced, problematic and downright misunderstood subjects to discuss. Have you ever thought After Effects felt “slow”? Have you ever tried to choose the best computer for your budget? Have you ever looked at real-time 3D engines and thought “why can’t After Effects render that fast?”. I think at some point, every After Effects user has looked at the little blue bar that represents rendering progress and wished it would hurry the f*@k up.
So here we are in 2019, using an application that’s over 25 years old, and the issue of performance in After Effects is constantly raised in user groups and online forums, but often with no clear answers or insights into the matter.
I’m hoping to shed some light on this difficult topic with a series of articles, all relating to After Effects and performance. This will be the most in-depth, comprehensive look at every aspect of performance in After Effects. It will cover the history of After Effects, the technology that it’s based on, and how the hardware and software we use every day relates to that all-important word: performance.
I’m not sure how many articles will end up in this series, or even how often they will be published. I began work on this series over a year ago and because of its length I’d planned to release it as an e-book. But then every time I thought I’d explained one point, I realized that I needed to explain something else, and then something else, and so on. As the number of chapters keeps ballooning it’s become more and more daunting to keep everything progressing. So starting today, I’ll be publishing chapters as stand-alone articles here on the ProVideo Coalition, and then when the series is eventually complete it will be available to download as an ebook. Publishing each chapter as an article will also make it easier for readers to post comments and correct or clarify any details which I might have missed.
While not comprehensive, here’s just a few of the topics in the series that will be examined in future articles:
- What does After Effects actually do?
- Bottlenecks – what’s taking so long?
- A brief history of the CPU
- Why After Effects loves RAM
- The bus problem
- A brief history of the GPU
- 3D gaming engines
- Background rendering
- Value for money
Performance is complicated, but if you’re using After Effects regularly, and especially if you’re a professional, you should take the time to understand the application, what it’s actually doing, and how to get the most out of it.
The actual introduction: There’s no such thing as perfect
How do you build the perfect After Effects machine? This simple question is very difficult to answer. Even trying to explain why it’s a difficult question to answer is difficult. Directly related, and therefore just as difficult, is explaining why certain projects can render faster in After Effects CC 2014 than in CC 2019.
All of these broader questions are covered by the magic P-word: Performance.
If you don’t have an unlimited budget – and very few people do – then the question comes down to value for money: which components give the best performance for a given price. But money isn’t the only issue. If you’re in a position where you want the best performance and can afford to pay for it, then there’s still a point where spending more money won’t make After Effects any faster. Depending on what you use After Effects for, that point might be a lot closer than you think.
In 2009 I bought an iMac for home use, and was surprised to discover that it rendered After Effects projects just as fast as the 2009 Mac Pros we used at work, which cost 3 times as much. When the infamous “trashcan” MacPro was released in 2013, I suggested that After Effects users would get better value for money by buying an iMac to work on, and 3 Mac Minis to use as a render farm – for the same price as one new MacPro. Six years later, I still think that suggestion has merit – even though some of the engineers at Adobe disagree. But this scenario is something I’ll discuss in depth in a future article, because it’s a great example of how difficult the overall concept of performance is to define.
Trying to explain After Effects and performance opens up a can of worms, because firstly you need to understand how the After Effects rendering engine works. The next problem is acknowledging that different people use After Effects for a lot of different things. There are panels in After Effects that users may have never opened, depending on what type of work they do.
Depending on what you’re using After Effects for, different components in the computer will determine how fast it performs. Someone designing 2D motion graphics using shape layers is placing very different demands on their hardware than someone compositing multiple layers of 4K video, and both of them are stressing different components to someone who is animating 3D graphics.
This diversity amongst After Effects users, the projects they work on and the hardware components used by the various features in AE mean that there isn’t a single, “perfect” solution to performance. The best solution for one user may not be the best solution for another. However by taking the time to examine all of the issues involved, we can understand why “performance” is a complex topic, and you can work out the best approach for your needs.
What is performance, anyway?
When it comes to After Effects, defining “performance” is surprisingly difficult. It’s not only about raw rendering speed. Performance in After Effects doesn’t begin and end when you hit the “render” button.
There are many benchmarks out there for testing the speed and processing power of computers and their individual components, but not all of them are relevant for day-to-day work. Even for applications outside of After Effects, the notion of “performance” can raise debate. For example- while most GPU benchmarks focus on peak frame rates for games, with a higher number of frames per second considered “better”, at least some people are arguing that consistency and the lack of dropped frames is more important to the gaming experience. In other words, a benchmark might give a higher score to one GPU, but a different GPU with a lower score may be more pleasant to use.
After Effects is an established creative tool, and raw rendering speed is only one factor in how “performance” is perceived by the user at the desk, doing their job and meeting deadlines. With a little contemplation, I’ve come up with a few distinct parts of After Effects that contribute to the overall sense of “performance”:
- application start up time
- time taken to open projects
- time taken to save (and auto-save) projects
- time taken to import files
- searching & managing assets within projects
- updates in the composition window while working
- overall user interface responsiveness
- processing specific one-off tasks, eg tracking or running scripts
- RAM previews
- rendering
There are many areas of After Effects that I think could be improved to make using After Effects feel faster, even if the rendering speeds are the same. As you might guess from the list above, this includes the time taken to open After Effects, the time taken to open projects, and the time taken to save large projects. Large After Effects projects that include lots of imported files can take minutes to save – but that time can feel even longer because you’re sitting there waiting for it to finish so you can get back to work.
I’m going to suggest something that you might reflexively disagree with, but before you decide I’m wrong stop and think about this honestly:
I think that even if the overall rendering speed of After Effects was 20% slower, but it opened instantly, opened projects instantly, imported files instantly, and saved projects instantly, then it would feel faster to the user.
Waiting 2 minutes for After Effects to save your project can feel much slower than the difference between a render taking 18 minutes instead of 15.
When it comes to performance, it’s easy to focus on raw rendering speed. While there have been a few attempts at After Effects benchmarks in the past, rendering can take up a surprisingly small proportion of the overall time spent on a project. While I’ve worked on animations and logo stings that were completed in a few hours, I’ve also worked on longer time scales where projects can last for months. Of course these projects involve rendering, and rendering speed can be an issue on the last day when you’re supposed to deliver everything at 5pm. But realistically, as a proportion of overall time spent creating, designing and animating, rendering the final output isn’t the start and end of “performance”.
Three things I mentioned above – opening After Effects, opening projects and saving them – can be measured with time. The much more difficult thing to measure is overall responsiveness of the application. This is perhaps the single most significant factor in how “fast” After Effects feels to the user, but it’s not something that can be benchmarked. Personally, I think After Effects CC 2019 “feels” sluggish, and one of the biggest frustrations I have with using AE is simply waiting for the composition window to update so I can see what I’m doing. Even here, After Effects does have many options that can be adjusted to help improve responsiveness, but it’s not always easy to understand why.
If there was a quick and simple technical solution to the issue of “performance” then it wouldn’t be an issue. But simply buying the fastest computer possible will not solve every one of these “performance” issues with After Effects. With the rapid emergence of 3D as a motion graphics tool, and with the ever-improving integration of Cinema 4D, the question of how to build the perfect After Effects machine for a set budget remains as murky as ever.
But let’s work through these topics one at a time. There’s no denying this is a long and complex series, but if you’re using After Effects on a professional basis it’s worth taking the time to understand more about the history of After Effects and the computers that it runs on.
At some point, I think most of us have been asked “What is After Effects?” But to begin our in-depth analysis of After Effects and performance, the underlying question we need to ask is “What is After Effects doing?”. And that’s exactly what we’ll be examining in Part 2.
This is part 15 in a long-running series on After Effects and Performance. Have you read the others? They’re really good and really long too:
Part 1: In search of perfection
Part 2: What After Effects actually does
Part 3: It’s numbers, all the way down
Part 4: Bottlenecks & Busses
Part 5: Introducing the CPU
Part 6: Begun, the core wars have…
Part 7: Introducing AErender
Part 8: Multiprocessing (kinda, sorta)
Part 9: Cold hard cache
Part 10: The birth of the GPU
Part 11: The rise of the GPGPU
Part 12: The Quadro conundrum
Part 13: The wilderness years
Part 14: Make it faster, for free
Part 15: 3rd Party opinions
And of course, if you liked this series then I have over ten years worth of After Effects articles to go through. Some of them are really long too!