Adobe After Effects CC 2015 Multi Core PerformanceWritten on September 28, 2015 by Matt Bach
The results we originally found for AE 2015 (13.5) are still 100% accurate for that version of AE, but we edited this article on 10/6/2015 to reflect the knowledge that the poor performance we saw in AE 2015 (13.5) is due to the "Render Multiple Frames Simultaneously" feature having been removed.
When designing a computer there are literally thousands of different hardware components to choose from and each one will have an impact on the overall performance of your system in some shape or form. Depending on the software you will be using, however, some components will simply be more important than others. In the case of Adobe After Effects, the one component that will have the biggest impact on performance is the CPU. The question is: how do you know which CPU will give you the best performance?
Before even attempting to answer this question, it is important to understand the two most basic CPU specifications:
- The frequency is essentially how many operations a single CPU core can complete in a second (how fast it can complete an operation).
- The number of cores is how many physical cores there are within a CPU (how many operations it can run simultaneously).
This doesn't take into account the differences between CPU architectures or cache sizes, but in an ideal world a CPU that has the same frequency but twice the number of cores would be exactly twice as fast. Unfortunately, making software utilize multiple cores (and do so effectively) is difficult in many situations and almost impossible in others. Add in the fact that higher core count CPUs tend to have lower operating frequencies and it becomes even more difficult to ensure that you are choosing the best possible CPU for your software.
In this article, we want to find out how well After Effects can utilize multiple CPU cores - also known as multi-threading - to help determine what type of CPU (either one with a high frequency or a high core count) will give you the best possible performance. Since final rendering and scrubbing the timeline are the two major tasks that users tend to wait on when using AE, those are what we will be focusing on in this article. Unfortunately, Adobe has removed the "Render Multiple Frames Simultaneously" feature from AE 2015 (13.5) so the multi core performance we found is much lower than it is in previous versions. According to Adobe's blog:
The Render Multiple Frames Simultaneously feature has been superseded by the new architecture in After Effects CC 2015 (13.5). The new architecture will allow a future version of After Effects to utilize processor threads and RAM more efficiently than the Render Multiple Frames Simultaneously functionality ever could.
Options related to Render Multiple Frames Simultaneously have been removed from the preferences, and Preferences > Memory & Multiprocessing has been renamed to Preferences > Memory.
If you want to use Render Multiple Frames Simultaneously to speed up final rendering via the render queue, you can still do so by opening the project in After Effects CC 2014 (13.2).
What this feature does is changes how AE renders frames so that instead of devoting all the CPU cores to rendering the frames one at a time it instead allocates one frame to each CPU core and renders as many frames as you have cores available at the same time. This may not seem like a huge deal on paper, but it turns out that having the entire system devoted to rendering one frame at a time is horribly inefficient and you can see a huge increase in performance (especially with higher core count systems) by using this feature. While Adobe's post makes it sound like a minor inconvenience that this feature is not present in AE 2015, if you compare the results of this article with what we saw in our Adobe After Effects CC 2014 Multi Core Performance article you will quickly see that the removal of this feature has a huge impact on both rendering and scrubbing the timeline (which their blog post doesn't even mention).
If you want to skip over our individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.
For our test system, we used the following hardware:
|Motherboard:||Asus Z10PE-D8 WS|
|CPU:||2x Intel Xeon E5-2687W V3 3.1GHz Ten Core|
|RAM:||8x Samsung DDR4-2133 32GB ECC Reg. LRDIMM (256GB total)|
|GPU:||NVIDIA GeForce GTX Titan X 12GB|
|Hard Drive:||Samsung 850 Pro 512GB SATA 6Gb/s SSD|
|OS:||Windows 8.1 Pro 64-bit|
|PSU:||Antec HCP Platinum 1000W|
|Software:||After Effects CC 2015 13.5|
Since we want to determine how many CPU cores After Effects can effectively utilize, we used a pair of Xeon E5 2687W CPUs to give us 20 physical CPU cores with which to test. Although we will not be testing ray tracing in this article (which is one of the few aspects of AE that can utilize the GPU) we used a GTX Titan X video card to ensure that the video card would never bottleneck the CPU.
To determine exactly how good After Effects is at using multiple CPU cores, we are going to benchmark AE with different numbers of cores made available to the software. Normally we would do this by setting the affinity in Windows, but unfortunately AE crashed if we set the affinity and tried to render a project (which may be related to why Adobe removed the "Render Multiple Frames Simultaneously" feature from this version of AE). Instead, we opted to go into the motherboard's BIOS and manually alter how many CPU cores would be active. This method works great (although it is a bit more work than using Windows affinity) and allowed us to accurately benchmark After Effects with anywhere from a single core to the full twenty cores possible with our test setup. To help with consistency - and since the benchmarks we performed ran for several days - we programmed a custom script using AutoIt to start After Effects, load the relevant project file, either render or scrub the timeline, close AE to clear any data from the system RAM, then loop while moving on to the next project file.
To analyze the data, we will be presenting our results in terms of how long it took each action to complete with X number of cores compared to how long it took to complete the same action with just a single core. From these results, we will then use Amdahl's Law to estimate the parallel efficiency for the action. 100% is perfect efficiency where a high core count CPU is ideal, but as the efficiency drops lower and lower having a high frequency CPU becomes more and more important. For more information on Amdahl's Law and how it works we recommend reading our Estimating CPU Performance using Amdahl's Law article.
In order to accurately test the multi core performance of After Effects, we used six different project files from five different sources. This won't test absolutely everything you could possibly do in After Effects, but by using projects from different sources we hope to test multiple methods of working in AE. The projects we used (along with their source) and the best render/scrub times we achieved on our test system are:
|Project Name||Source||Best Render Time||Best Scrub Time|
|The People's Template||BlueFX||456 seconds||44 seconds (quarter res.)|
|Grunge Frames||Free AE Templates||939 seconds||207 seconds (half res.)|
|Fiber Particles||Video CoPilot||63 seconds||61 seconds (full res.)|
|Pop Out Book||Flux VFX||1714 seconds||95 seconds (quarter res.)|
|Simple Rings||Free AE Templates||100 seconds||100 seconds (full res.)|
|5K Subscribers||FX Channel House||18 seconds||12 seconds (half res.)|
For the final render times, we tested exporting to both AVI and Quicktime although we found that the render times were almost exactly identical for both of them so we will be reporting a single unified result in this article. The best time we achieved when render these projects ranged from just a handful of seconds to almost 30 minutes, which should give provide a nice sampling of different length and complexity of projects. To test scrubbing the timeline, we left the resolution/down sampling of the preview window at whatever it was by default in the project file. This means that we tested with quarter, half, and full resolution depending on the project.
Before we get into the results of our testing, we want to give a quick explanation of the graphs below. The blue line with the dots represents the actual speedup per core that we saw in our benchmark compared to the performance we saw with just a single CPU core active. In other words, a speedup of "2" means that it is twice as fast as the single core performance, "3" is three times as fast, and so on.
We also used Amdahl's Law to determine the overall multi core efficiency for each project. As you will soon see, however, After Effects makes determining the multi core efficiency difficult as it changes at different core and/or CPU counts. To help visualize the efficiency, we charted the positive increases in efficiency in green, no change in efficiency in orange, and any negative efficiency in red.
One last thing we want to point out is that it is fairly typical for there to be a substantial drop in performance when you start to use a second CPU (typically for the first 1-3 cores of that CPU). This is normal and not at all a concern unless the performance does not begin to increase after around 2-4 cores.
Starting with "The People's Template" from BlueFX, we saw a decent 88% multi core efficiency for the entire first CPU (10 cores in our case). However, once we started to utilize the second CPU we saw absolutely no increase in performance. If you compare this to what we saw in AE 2014 (13.2) where we saw a multi core efficiency of 98.5% for the first CPU and 97.25% for the second CPU, you can see just how massive of a performance hit you will see (especially with dual CPU systems) in AE 2015 compared to AE 2014. Compared to a maximum speedup of only about 5x in AE 2015, in AE 2014 we saw up to a 14x increase (which would only continue to increase if more cores were added to the system)
The "Grunge Frames" from Free AE Templates is very similar to "The People's Template". The efficiency was a bit lower at 85%, but we saw the same flat line as soon as we started to use the second CPU.
For the "Fiber Particles" project we start to see some very concerning results. This time, we saw a 88% efficiency at first, but it dropped to 0% after only 4 cores. What is even worse, however, is that the performance steadily dropped as we utilized more and more cores on the second CPU. The drop was not too bad (equivalent to a -40% efficiency) but for this project we definitely saw better performance with a single CPU than we did with two CPUs.
Even worse than the previous project, rendering the "Pop Out Book" project saw a -45% multi core efficiency when we added the second CPU. We still saw an O.K. 82% efficiency for the first CPU, but we lost almost half of what we gained with the 10 cores of the first CPU when we used all 10 cores of the second CPU.
Rendering the "Simple Rings" project was interesting as it was only 50% efficient for the first CPU and 0% for the second CPU. This really effectively means that for this project only 2-3 CPU cores are really necessary to render the project at nearly full speed.
Our final project file - "5K Subscribers" - was only 58% efficient and only for the first 4 cores. After that, we saw a small but steady drop in performance to the tune of approximately -25%
Timeline Scrubbing (Preview) Benchmarks
The preview for "The People's Template" was set to only quarter resolution, but even at that size we saw some very interesting results. For the first six cores we saw a steady increase in performance with a multi core efficiency of about 86%. However, after 6 cores we saw a pretty drastic drop in performance. It didn't exactly match our -50% efficiency estimation, but no matter how you look at it there is a pretty massive drop in performance when using multiple CPUs.
While we know that this drop in performance is related to the fact that AE 2015 (13.5) does not include the "Render Multiple Frames Simultaneously" features, it is still a bit of a surprise to us that Adobe has released a product with multi core performance is this bad - especially since many professionals use dual CPU systems for maximum performance.
The "Grunge Frames" timeline is set to half res and unlike "The People's Template" we see a positive 78% multi core efficiency for the entire first CPU. However, this once again drops off (to the tune of about -45%) when we started to utilize the second CPU.
Interestingly, the results for scrubbing the timeline for the "Fiber Particles" project almost exactly matches what we saw when rendering this project (which is likely due to the fact that the preview is set to full resolution). The exact efficiencies are a bit different, but we saw the same increase in performance for the first four cores followed by nothing for the remainder of the first CPU. The drop in performance was a bit worse with the second CPU (-50% vs -40%) but other than that the results are strikingly similar.
Similar to the previous project, the results for the "Pop Out Book" timeline scrubbing show a decent increase in performance for the first four cores then nothing for most of the rest of the first CPU. After that, we saw a steady drop in performance with about a -40% multi core efficiency.
Just like the "Fiber Particles" project, scrubbing the timeline for the "Simple Rings" project is almost identical to the results we saw when we rendered it. It is worth noting that both these projects are the ones that are set to full res for the preview window.
Our final project file - "5K Subscribers" - is a bit anti-climatic as it simply has a 0% efficiency across all core counts. In other words, the timeline will finish scrubbing in exactly the same amount of time whether your CPU has one core or a hundred cores (assuming all other things are equal).
How important is the Render Multiple Frames Simultaneously feature?
If you compare the results of this article to what we saw in After Effects 2014 (13.2), you will very quickly see that this version of AE is massively worse at utilizing multiple CPU cores than previous versions. As we have mentioned a few times already, the main cause of this is the removal of the "Render Multiple Frames Simultaneously" feature. Just to give you an idea of how important this feature is, here is the time it took to render and scrub the timeline of our projects in AE 2015 compared to AE 2014 with all 20 cores enabled in our test system:
|20 CPU Core Benchmark||Rendering||Timeline Scrubbing|
|Results in Seconds||AE 2015 (13.5)||AE 2014 (13.2)||AE 2015 (13.5)||AE 2014 (13.2)|
|The People's Template||480.5||153.8||74||25.8|
|Pop Out Book||2540.8||380.4||136.5||48.6|
Note that this isn't the best time we saw with each version of AE but rather what you would see if you had a system identical to our test system and didn't mess with how many cores were available to After Effects. On average, AE 2014 (13.2) is about 3x faster than AE 2015 (13.5) although on the "Pop Out Book" project AE 2014 was almost 7x faster!
The first question you are probably asking yourself is: If this feature makes such a huge impact on how fast you can render or scrub the timeline, why did Adobe remove it? While we can't be 100% sure, we do know from this blog post that:
The interactive performance improvements in After Effects CC 2015 (13.5) required re-architecture of the code for how frames are rendered and then returned for processing, i.e. previews or exporting.
In other words, they have made significant changes to how AE handles frames and either the "Render Multiple Frames Simultaneously" feature isn't compatible with the new code or they simply couldn't get it stable in time for release. No matter what the reason, this feature is missing from AE 2015 which brings us to the second question you are likely wondering: When will this feature be added back?
Whether they will include this feature (or its equivalent) in future builds is something only Adobe would know but we can't believe that they would leave such a significant feature like this out for long. On the same blog post, Adobe mentions:
The new architecture will allow a future version of After Effects to utilize processor threads and RAM more efficiently than the Render Multiple Frames Simultaneously functionality ever could.
From this text, it sure sounds to us like they are working on either an equivalent or even better feature than "Render Multiple Frames Simultaneously". On the other hand, we haven't heard any mention of this in any blog or forum post made by Adobe so all we can say is that they probably will fix the terrible multi core performance we saw in AE 2015 (13.5) but we have no idea when it will be. Hopefully they will have it ready in time for AE 2016 but unless they confirm it there is no way to know until AE 2016 launches.
We are going to be honest - the results of our testing makes it very difficult to determine what CPU is best for After Effects. In order to simplify things a bit, we are going to focus solely on what CPU would be best for AE 2015 (13.5). If you want maximum performance and are willing to use the older AE 2014 (13.2), however, we recommend reading the conclusion of our AE 2014 (13.2) article to see what CPUs are best for that version.
With that said, if you need to use AE 2015 (13.5), it is clear that dual CPU systems are a bad choice After Effects 2015. However, a single CPU with a relatively high core count should show decent performance gains. To summarize the results of our testing, here is the parallel efficiency we saw with only a single CPU for each project (since you would never actually want a dual CPU):
|Single CPU Parallel Efficiency
(higher is better - 100% is perfect)
|The People's Template||88%||86% (-50% after 6 cores)|
|Fiber Particles||88% (0% after 4 cores)||90% (0% after 4 cores)|
|Pop Out Book||82%||82% (0% after 4 cores)|
|5K Subscribers||58% (-25% after 4 cores)||0%|
There are certainly a few oddities in the results like scrubbing the timeline on "The People's Template" where we saw a drop in performance after 6 cores, but most of the results are close enough that we can say that at best After Effects is somewhere in the area of 85% efficient at using multiple CPU cores. That is somewhat disregarding the "Simple Rings" and "5K Subscribers" results, but those were both fairly short project files so even if you don't have the absolute ideal CPU for similar projects it won't be nearly as big of a deal as it would be for a larger projects.
Based on our results, we can make a few informed recommendations as to which CPUs will give you the best overall performance in After Effects 2015 (13.5):
|Recommended CPUs for After Effects CC 2015 (13.5)|
|Good:||Intel Core i7-5930K 3.5GHz Six Core 15MB 140W or
Intel Xeon E5-1650 V3 3.5GHz Six Core 15MB 140W
|Great:||Intel Core i7-5960X 3.0GHz Eight Core 20MB 140W or
Intel Xeon E5-1660 V3 3.0GHz Eight Core 20MB 140W
|Best:||Intel Xeon E5-1680 V3 3.2GHz Eight Core 20MB 140W|
This looks like a lot of CPUs, but in reality it is actually just three (since the Core i7 and Xeon E5's are essentially the same CPUs). Each time you move up in model (for example going from a E5-1650 V3 to a E5-1660 V3 or a E5-1660 V3 to a E5-1680 V3) you should see somewhere around a 5% decrease in the time it takes to both render and scrub the timeline. This won't always be the case (for example, the "Fiber Particles" project stopped seeing an increase in performance after six cores), but as a general rule of thumb it should be fairly accurate. Each one of those jumps is also about a 40% increase in the cost of the CPU, however, so it really comes down to how important each 5% increase in performance matters to you.
At the risk of sounding like a broken record, we once again want to point out that if you are primarily concerned about how long it takes to render or scrub the timeline, we highly suggest using AE 2014 (13.2) instead of AE 2015 (13.5). That version of After Effects is much, much better at utilizing multiple CPU cores and can actually effectively use multiple CPUs to the point that you could see up to a 3.5x increase in performance with a Dual CPU system in AE 2014 than you could with even a Xeon E5-1680 V3 in AE 2015.
One last thing we want to make very clear is that our testing is really only 100% accurate for the projects we used in our testing. Different effects, resolutions, and codecs are going to change how well After Effects can utilize multiple CPU cores. If you want more accurate results for what you actually do in After Effects, we recommend following our Estimating CPU Performance using Amdahls Law guide. It can be a time consuming process but it is really the only way to know for sure what the parallel efficiency is for what you do in After Effects. As we mentioned in the Test Setup section, however, you will need to slightly modify that guide and change the number of CPU cores available through the BIOS as AE crashes if you try to adjust the number of cores by setting the affinity through Windows.