Adobe After Effects CC 2015.3 Multi Core PerformanceWritten on September 6, 2016 by Matt Bach
With the launch of After Effects 2015.3, Adobe has introduced support for GPU acceleration via the Mercury Playback Engine. Although we already have a CPU multi core performance article available for AE 2015, this change has the potential of changing the results of our previous round of testing so we decided it was time to take another look at how well After Effects is able to utilize multiple CPU cores. In addition, this is a good opportunity to see how the now accelerated effects (Lumetri color correction, Gaussian blur, and Sharpen) behave with different CPU core counts.
Before we get into our testing, we want to first make sure you understand the two most basic CPU specifications as it will help you to fully understanding our testing results:
- 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 addition, while our testing will be a good indicator at how well After Effects scales across multiple CPU cores, it is not perfect for determining the exact performance between different CPUs models. If you are primarily concerned about how the most popular CPUs compare, we recommend reading our Adobe After Effects CC 2015.3 CPU Comparison article.
In this article, our goal is to determine how well After Effects can utilize multiple CPU cores in the new 2015.3 version. It is worth noting that with the removal of the "render multiple frames simultaneous" feature in AE 2015, it is unlikely that any version of AE in the near future will have scaling as good as AE 2014 and earlier. On the other hand, the removal of this feature was due to Adobe making major changes to the underlying architecture of their software - likely to make way for the GPU acceleration that we are finally getting a taste of. In the short term, this will mean that more powerful machine with a high number of cores will likely not be ideal for AE, but GPU acceleration has the potential to massively improve performance while simultaneously lowering the cost of AE workstations (we saw anywhere between a 2x and 10x increase in performance with GPU acceleration!).
In this article, we will be focusing on three tasks that users tend to wait on when using AE: rendering, scrubbing the timeline, and motion tracking. 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-2690 V4 2.6GHz (3.2-3.5GHz Turbo) Fourteen Core|
|RAM:||8x Crucial DDR4-2133 32GB ECC Reg. LRDIMM (256GB total)|
|GPU:||NVIDIA GeForce GTX 1080 8GB|
|Hard Drive:||Samsung 850 Pro 512GB SATA 6Gb/s SSD|
|OS:||Windows 10 Pro 64-bit|
|PSU:||EVGA SuperNOVA 1600W P2|
|Software:||After Effects CC 2015.3|
Since we want to determine how many CPU cores After Effects can effectively utilize, we used a pair of Xeon E5 2690 CPUs to give us 28 physical CPU cores with which to test. Since we will be testing the newly GPU accelerated effects, we will also be using a GeForce GTX 1080 8GB video card to help ensure that the video card will not be a significant bottleneck.
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 crashes if you try set the affinity in this manner. 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 slightly less accurate at lower core counts) and allows us to benchmark After Effects with anywhere from a single core to the full 28 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, purge the memory and disk cache, perform the relevant action, close AE to clear any remaining 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 measure the multi core performance of After Effects, we tested the performance when rendering and scrubbing 2D animation projects as well as working with 1080p and RED 4K video files (using both the newly GPU accelerated effects and performing motion tracking analysis). This won't test absolutely everything you could possibly do in After Effects, but by testing a variety of projects from different sources we hope to find a number of trends that will help us determine how effective AE is at using multiple CPU cores.
The projects we used (along with their source) are:
|2D Animation Projects||Length||Source|
|The People's Template
(30 FPS - 383 frames)
(24 FPS - 469 frames)
|Free AE Templates|
(24 FPS - 190 frames)
|Pop Out Book
(29.97 FPS - 901 frames)
(24 FPS - 150 frames)
|Free AE Templates|
(30 FPS - 307 frames)
|FX Channel House|
|Video Editing Projects||Length||Source||Tested Effects|
|H.264 1080p||15 seconds
(59.94 FPS - 900 frames)
|Provided by: Jerry Berg
Barnacules Nerdgasm - YouTube
-Lumetri Color Correction
|RED 4K||20 seconds
(23.976 FPS - 480 frames)
|Provided by: Mike Pecci
Director & Photographer
2D Animation - Rendering
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 initial efficiency we saw in green, the secondary efficiency in orange, and any negative efficiency (where we saw a drop in performance with more cores) in red.
One last thing we want to point out is that it is fairly typical for there to be a slight 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.
When rendering a 2D animation, we saw a pretty wide range of multi core efficiencies. The best results we saw was with "The People's Template" which had a decent 87% efficiency for the entire first CPU, but it dropped to nothing for the second CPU. "Grunge Frames" and "Pop Out Book" both had a lower 80% efficiency for the first CPU, and actually saw a small drop in performance when we started to use the second CPU.
The other three projects were not quite as good. The "Fiber Particles" project still had a halfway decent speedup for the first 6 cores (78%), but we saw a slight drop in performance when we used more than six cores. The last two projects ("Simple Rings" and "5K Subscribers") both saw some benefit to having two CPU cores, but pretty much nothing after that.
2D Animation - Timeline Scrubbing (Preview)
Scrubbing the timeline gave us similar multi core efficiency results as rendering, although overall the scaling was a bit worse. The first four projects still had the best initial speedup - although anything in the 70-85% range is not anything terribly great - and they all saw either no benefit or a drop in performance when using dual CPUs. However, unlike rendering only one of these projects ("Grunge Frames") was able to effectively utilize the entire first CPU. The other three all saw no benefit from having more than four or six CPU cores.
Once again, the last two projects were pretty much ineffective at using more than one or two CPU cores.
Video Editing - Rendering
There are a number of things we could have tested when it comes to working with videos in After Effects, but for rendering and scrubbing the timeline we decided to focus on the effects that were given GPU acceleration in AE 2015.3 . Some of this is simple curiosity, but we also wanted to see if by having the GPU involved in some of the calculations make AE more effective at using more CPU cores or not.
We tested with two different types of video footage - one H.264 1080p and the other RED 4K. What is interesting is that the 1080p footage saw very poor multi core efficiency with only a small benefit to using two cores and absolutely no befit to using three or more cores.
The RED 4K footage, on the other hand, saw excellent parallel efficiency for the first four cores of 92%. Unfortunately, this dropped off to either 20 or 40% after those four cores and adding a second CPU at best made no difference. In fact, for two of the three RED 4K projects adding a second CPU resulted in a small drop in performance.
Video Editing - Timeline Scrubbing (Previews)
Scrubbing the timeline ended up being very similar to rendering, only with a slightly better multi core efficiency.
This time, we saw a bit better efficiency for the 1080p project, although it was still very poor with there being little benefit from having more than 3-4 cores. The RED 4K projects all saw a 92-95% efficient for the first four cores, which dropped to 40-65% for the remainder of the first CPU. Unfortunately, although this is a bit better than what we saw when rendering, all three projects saw a moderate decrease in performance when using two physical CPUs.
We decided to include motion tracking in our testing because we have had some customers ask about how then could improve the time it takes to complete this sort of task. Unfortunately, we found it to be pretty much completely single threaded so using a system with a high number of CPU cores is not going to do anything to improve performance.
After Effects has always been a tough piece of software for us to offer concrete conclusions on because the results often vary so widely based on the individual project. Our testing saw anywhere from no benefit from having more than a single core, to a decent increase in performance by using a CPU with a higher core count. In fact, the only consistent result we saw was that using dual CPUs for After Effects is not a good idea. At best there is no benefit to dual CPUs, and fairly often you would actually see a small drop in performance with two CPUs versus just one.
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):
|2D Animation Single CPU Efficiency
(higher is better - 100% is perfect)
|The People's Template||87%||80% (0% after 6 cores)|
|Fiber Particles||78% (-20% after 6 cores)||85% (0% after 4 cores)|
|Pop Out Book||78%||75% (0% after 4 cores)|
|5K Subscribers||80% (0% after 2 cores)||0%|
|Video Editing Single CPU Efficiency
(higher is better - 100% is perfect)
|H.264 1080p - Lumetri Color||55% (0% after 2 cores)||78% (0% after 2 cores)|
|H.264 1080p - Gaussian Blur||50% (0% after 2 cores)||80% (0% after 2 cores)|
|H.264 1080p - Sharpen||62% (0% after 2 cores)||65% (0% after 2 cores)|
|RED 4K - Lumetri Color||92% (40% after 4 cores)||92% (40% after 4 cores)|
|RED 4K - Gaussian Blur||92% (20% after 4 cores)||95% (55% after 4 cores)|
|RED 4K - Sharpen||92% (40% after 4 cores)||95% (65% after 2 cores)|
|Motion Tracking Single CPU Efficiency
(higher is better - 100% is perfect)
While these results are pretty inconsistent, by looking at some of the averages and trends we can determine that After Effects is most likely to perform the best when using a CPU with around 4-6 Cores, and in some cases a CPU with ~8 cores. If you want to see how well different Core i7 and dual Xeon CPUs actually perform in After Effects, we recommend reading our Adobe After Effects CC 2015.3 CPU Comparison article. In that article, we found that either a 6 or 8 core CPU (Intel Core i7 6850K or 6900K) works best in after effects depending on whether you spend more time creating animations or working with video footage.
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.