Site icon ProVideo Coalition

AE 2022: Multi-Frame Rendering has arrived!

AE 2022: Multi-Frame Rendering has arrived! 1

Last week Adobe released After Effects 2022, which includes a number of new features that massively improve performance.  I’m not sure how to gauge the attention this new release has received so far.  On one hand, the launch of AE 2022 coincided with the Adobe MAX online conference, which was full of interviews, update information and demonstrations.  But for anyone who didn’t tune in – and honestly, I feel like that’s the vast majority of average After Effects users – then they might not even be aware that AE 2022 is out.

Fanfare?  What fanfare?

It’s not quite a year since Adobe started rolling out regular, monthly updates.  This welcome change was a huge leap from the early days of desktop video, where users might wait years between new versions.  The time between After Effects 3.0 and 4.0 was just over 3 years, and it was almost another 18 months until version 5.0.  But while having new updates every month is much better than waiting a few years, perhaps their regularity has detracted from the significance of a major new release?  I haven’t checked, but I think this is the first major new version of After Effects to be released since the monthly updates began. In the past, new releases of After Effects (not just updates) have been hugely anticipated, but it almost feels like After Effects 2022 has been lost in the overall noise surrounding Adobe Max.

There’s such a regular stream of After Effects news that I don’t post about it myself.  Other authors, such as the ProVideo Coalition’s Rich Young, specialize in collecting the latest AE news and compiling it into regular articles.  But After Effects 2022 is different.  Not only does it represent the next major release of After Effects, but its most significant new features all relate to a topic that I have written a lot about: Performance.

After Effects & Performance is an 18-part series that looks at every aspect of After Effects, beginning with what it does and ending with an interview about the future of AE.

Just in case you missed it, I published a series of articles on the topic of “After Effects and Performance” – a topic so complex that it spanned about 18 parts.  While earlier articles looked at exactly what After Effects does, the later ones focused on what Adobe were doing to improve Performance.  The series concluded with an interview with Adobe’s Sean Jenkin, the head of their Performance team.

The short version is that Adobe assembled a team of engineers dedicated to improving the performance of After Effects, and they’ve spent the last few years quietly optimizing After Effects for multi-core CPUs.  This has not been a simple task.  You can read all the details in Sean’s interview, but the gist of it is that After Effects 2022 represents years of work by a dedicated team of performance engineers.

What it is, what it isn’t

While After Effects 2022 contains a number of noticeable new features,the most significant is “Multi-Frame Rendering”.  After Effects can now effectively utilize multi-core CPUs to render multiple frames at once.  Depending on your hardware configuration and the type of project you’re rendering, After Effects might be able to render well over 10 frames simultaneously – the most I’ve seen on a personal project is 17.  Overall rendering speeds can be up to 4 times faster, which is pretty good for a software upgrade.

But a number of users have noticed that word – “simultaneously” – and have questioned just how new this feature is.  When Adobe released After Effects CS3 in 2007, they introduced a feature called “render multiple frames simultaneously” – or RMFS for short.  While many users found RMFS to be useful, others didn’t – including me.  RMFS was the topic of part 8 in my series on Performance, but the simple version is that it was something of a clever hack.

Render Multiple Frames Simultaneously (RMFS) is the topic of part 8 in my series. TL;DR – it didn’t work. The new Multi-Frame Rendering feature is completely different.

When a user turned on RMFS, After Effects simply ran multiple versions of itself in the background.  When it came time to render, individual frames were allocated to the invisible copies of AE running in the background, which rendered them and sent them back to the main foreground application.  This worked OK for simple projects, but it wasn’t an elegant solution.

The underlying problem with RMFS was the lack of efficiency.  Every background instance was essentially loading a copy of After Effects, and then each one also had to load its own copy of the project.  This took time and wasted memory.  It could take minutes for RMFS to even start working.  The overhead with sharing out frames and stitching them back together was so high that if RMFS was turned on, the main version of After Effects in the foreground wasn’t used for rendering itself.  So if your computer was powerful enough to run 4 instances of After Effects, only 3 were actually used for rendering.  At the same time, the computer’s memory was storing 4 copies of the project.

Additionally, After Effects itself – as well as all plugins – had never been designed with RMFS in mind.  Most plugins seemed to work OK, but some – mainly those that sampled multiple frames over time – would either run slower when RMFS was turned on, or they’d render incorrectly.

Overall, though, the biggest problem with RMFS was stability.  If one background instance of AE hung, then everything stopped – After Effects would just sit there waiting for a frame that was never going to finish rendering.

RMFS worked for some people, but it never worked for me.  I was happy when Adobe retired it after CC 2014.

MFR: More than meets the eye

Multi-Frame Rendering, while it might sound similar in a marketing blurb, is a quantum leap from the older RMFS feature.  While you can read the full details from Sean Jenkin himself, here’s the basics.

Firstly, Multi-Frame Rendering is built into After Effects by design.  The entire code-base of After Effects, dating back to 1993, has been updated to be “thread safe”.  This means that the code can run on multiple CPU cores safely, and if one thread hangs then it doesn’t crash the entire application.  Multi-Frame Rendering is no longer a “hack” where multiple instances of the application are running, it’s now a single application that’s utilizing multiple CPU cores across multiple threads.  When you want to render something, you don’t need to wait for background processes to start up and then load their own copy of the project.  With MFR, everything is now unified.  Your system’s memory only has to store a single copy of your After Effects project, which all threads share and access.

To put it simply: After Effects 2022 is a fully multi-threaded, multi-core CPU aware application.

But while that represents years of work by a dedicated team, there’s a lot more to MFR than you might realize.  In order for Multi-Frame Rendering to work effectively, a whole range of other technologies had to be implemented first.  This includes something called Dynamic Composition Analysis, which not only helps MFR behind the scenes, but presents the user with a new tool for analyzing render times.

The old RMFS feature allowed the user to allocate how many CPU cores and how much memory was used. These preferences were locked once rendering began. The controls varied over time (an earlier version of the preferences is on the left, CC 2014 is on the right) but ultimately it was left to the user.

One major problem with the old RMFS feature was that the number of background processes was set by the user, and then locked once rendering began.  While the user controls for RMFS changed over time, generally the user had control over the number of CPU cores to be used, and how much memory they should each be given.

Years of support requests and forum posts suggest that most users got these settings wrong, and that many of the stability issues that plagued RMFS were the result of users allocating too many cores and not enough memory.  My personal experience was that in order for RMFS to work reliably, the settings had to be so conservative that RMFS wasn’t really worth the hassle.

But instead of blaming the user for stability issues, the real question is – why was it left to the user to make those decisions in the first place?

Dynamic Composition Analysis is Adobe’s answer to that question.  With After Effects 2022, the time and resources needed to render a composition are constantly being measured and analysed.  After Effects can now tell how complicated and demanding the rendering process is, and adjust itself accordingly.  The exact number of CPU cores being utilized will increase and decrease accordingly as rendering progresses.  If you have a powerful system then After Effects will automatically use whatever resources are available.  If your system is more modest then After Effects will reduce the number of threads when necessary – without user intervention.  But to be clear – unlike the older RMFS feature, with Multi-Frame Rendering After Effects will automatically adjust the number of CPU cores that it’s using, while it’s rendering.

Information from the composition analysis is also presented to the user, in another feature that’s new with AE 2022 .  The timeline has gained a new icon – a snail called Oscar.  If you click on Oscar, you’ll see how long each individual layer in your timeline takes to render.  Adobe call this the “Composition Profiler”.  This makes it easy to quickly identify any unusually slow layers, and provides an avenue to look for ways to optimize compositions and plugins.

Also new with AE 2022 is the “Composition Profiler”. Click on Oscar the snail and you’ll be presented with the rendering times for each individual layer. If you open the twirly arrows you can see the rendering times for each individual effect on a layer.

Speculation

In part 1 of my series on After Effects & Performance, I looked at how the word “performance” could apply to many different aspects of After Effects.  “Performance” itself isn’t just raw rendering speed – there are many other factors that affect users who are sitting down to work, and getting stuff done.

Completely separate from rendering speed are things like how long After Effects takes to open, how long projects take to open and save, and so on.  In the time since I wrote that first article, Adobe have begun addressing many of these issues – the time taken for After Effects to load has improved greatly since 2019.

Another new feature for 2022 is speculative rendering – and this is one of those features that has the potential to make After Effects feel much faster to the user, without necessarily impacting on raw rendering speeds.  Very simply – any time After Effects has been idle for a certain amount of time (the default is 8 seconds) it begins rendering frames around the current timeline indicator.

You can adjust the preferences for speculative rendering. The default is to begin rendering if you haven’t done anything for 8 seconds, and to cache frame before and after the current time.

This might not sound too amazing, but it can have a profound impact on your workflow.  If you stop to read an email, type a message on Slack, get a cup of coffee or go to the bathroom – when you click back to After Effects you’ll find it’s been busy rendering away, ready for previewing.

It’s difficult to describe – or even demonstrate – Speculative Rendering in a way that accurately reflects how well it works over the course of an average day.  It’s something that makes you realize how many periods there are where you’re not actively doing something in After Effects for 8 seconds.  Suddenly, while you’re re-reading the brief, looking at an animatic, searching for stock footage or just sitting there thinking – the green line in the timeline starts growing, and suddenly you’ve got an animation ready to preview.  You can take a break, but After Effects keeps working.

Come together

Speculative Rendering is a surprisingly effective new feature all by itself, but what makes it really sing is that way it works with the disk cache – something that’s been around for ages.  Speculative Rendering takes advantage of your idle time to preemptively render frames, but if you’ve enabled your disk cache then those frames aren’t just useful for a spontaneous RAM preview – they’re saved for whenever they might come in handy later on.

Months of testing have shown that Multi-Frame Rendering, by itself, can make rendering a composition up to 4 times faster.  But even though that’s a pretty significant performance boost for a software upgrade, that’s before we take speculative rendering and the disk cache into account.  If frames have been speculatively rendered earlier and saved to the disk cache, then they don’t even need to be rendered.  So as impressive as multi-frame rendering can be in lab run benchmarks, the addition of speculative rendering can make rendering even faster.

Again, this is something that can’t really be demonstrated or realistically benchmarked – it’s something that only becomes apparent when you’re actually sitting down and using After Effects for a full days work.  It’s an unusual and welcome situation where the combination of different features in After Effects add up to improve performance more than any single, individual metric.  But the combination of Multi-Frame Rendering, Speculative Preview and the disk cache can combine so that a 3pm coffee break can speed up your 5pm renders!

Laying the groundwork

Multi-Frame Rendering is a new feature that has been years in the making.  It was an incredibly difficult task that involved a dedicated team of software engineers, sifting through every line of code in After Effects dating back to 1993.

The fact that MFR is now out to the public in the latest release of After Effects is news enough.  The combination of MFR and Speculative Rendering will instantly have a huge impact on After Effects users worldwide.  Simply upgrading to AE 2022 will make rendering up to 4 times faster – without purchasing any new hardware.  That’s pretty good.  If you have a Creative Cloud Subscription then you can upgrade right now.

But what’s even more exciting is the future.  All of the work that the Adobe Performance Team have done over the past few years has laid the groundwork for more improvements to come.  Multi-Frame Rendering may have the headlines today, but it’s only the beginning.  The huge efforts that went into making the After Effects code multi-threaded and thread-safe will continue to be felt as other parts of After Effects are refined and improved.  Project opening times, saving times, file importing times and so on all have the potential to be dramatically overhauled in future releases.

If you want the full details behind the efforts to make After Effects 2022 possible then dive into my interview with Sean Jenkin, who headed the After Effects Performance team.  You can also watch an interview with Sean that was conducted by Puget,who make high-end workstations for After Effects users.

But if you haven’t already upgraded to After Effects 2022 then do it now.  You don’t need to spend thousands of dollars on a new graphics card or a new computer to see a huge improvement in performance.  It’s just a few mouse clicks away.

Exit mobile version