Puget Systems print logo
https://www.pugetsystems.com
Read this article at https://www.pugetsystems.com/guides/698
Article Thumbnail

Adobe Premiere Pro CC Multi Core Performance

Written on August 27, 2015 by Matt Bach
Share:

Introduction

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 Premiere Pro CC, one of the most critical hardware components that will help with the performance of your system 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:

  1. The frequency is essentially how many operations a single CPU core can complete in a second (how fast it is).
  2. 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, 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 most 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 Premiere Pro can utilize multiple 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 exporting videos and generating previews are the two major tasks that users tend to wait on when using Premiere Pro, those are what we will be focusing on in this article. If you want to skip over our individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.

Test Setup

For our test system, we used the following hardware:

Since we want to determine how many CPU cores Premiere Pro can effectively utilize, we used a pair of Xeon E5 2687W CPUs to give us 20 physical CPU cores with which to test. To try to avoid other components being a bottleneck, we used two GTX Titan X video cards and a fast Samsung 850 Pro SSD as our export drive. 

To determine exactly how good Premiere Pro is at using multiple CPU cores, we are going to benchmark Premiere with different numbers of cores made available to the software by setting the affinity in Windows. This way we can accurately benchmark Premiere Pro with anywhere from a single core to the full twenty cores possible with this setup. To help with consistency - and since the benchmarks we performed ran for several days - we programmed a custom script using AutoIt to start Premiere Pro, set the CPU affinity, load the relevant timeline, export the timeline with the appropriate settings or generate previews, close Premiere Pro to clear any data from the system RAM, then loop while making more and more cores available.

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 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.

The timelines we will be using are based on the PPMB6 benchmark for Premiere Pro. In our testing, the "simple" timeline is what is used in that benchmark to measure MPEG-2 performance although we did lengthen that timeline in order to make it take longer to export. Similarly, the H.264 timeline is what we will be calling our "complex" timeline. For our 4K testing, we simply replaced all the footage with 4K clips  while maintaining the same number of individual video files.

For our export settings, we used the following:

Export Settings
1080p MPEG-2 Format: "MPEG2-DVD"
Preset: "NTSC 23.976 Widescreen High Quality"
"Maximum Render Quality" on
1080p H.264 Format: "H.264 Blu-ray"
Preset: "HD1080i 29.97"
"Maximum Render Quality" on
4K H.264 Format: "H.264"
Preset: "Youtube 4K - 29.97"
"Maximum Render Quality" on

Exporting 1080p MPEG-2

MPEG-2 may not be used as widely as H.264 anymore, but since it is still used at times we wanted to include it in our testing. 

In the graph above, the lines with dots are the actual speedup we recorded in our testing. The solid lines shows the calculated efficiency we arrived at by using Amdahl's Law on the results. What is interesting is that for all of our testing in Premiere Pro we saw a very distinct point (marked as a green line) where the parallel efficiency makes a drastic change for the worse. 

In the case of exporting a simple 1080p video to MPEG-2 we saw a parallel efficiency of about 90% - but only when using up to 4 cores. After that, the efficiency dropped off to only 35% which really means that there is absolutely no benefit to having more than 4-5 cores when exporting a simple 1080p timeline to MPEG-2. However, switching to a more complex timeline improved the efficiency quite a bit. For that we saw a parallel efficiency of 96% up to 8 cores, then another steep drop to only 25% after that. So for a complex 1080 timeline being exported to MPEG-2 you will see a decent benefit in having up to 8 cores but there is essentially no benefit to having any more CPU cores than that.

Exporting 1080p H.264

Exporting to H.264 was much better in terms of parallel efficiency than exporting to MPEG-2, but we still saw a point where there was a huge drop in performance improvement.

For a simple timeline, Premiere Pro was about 98% efficient all the way up to 10 cores, but it completely flat lined after that. The complex timeline was a bit worse at only 92% efficient but it saw the same flat line after 10 cores. In fact, if anything performance actually got worse as we got into the higher core counts on the complex timeline.

One thing we want to point out is that while we saw the performance drop off at 10 cores, it is more likely that it is actually because we started to use the second CPU rather than the actual core count. We've seen the same complete lack of performance increase with dual CPUs in a number of other software packages so it is not at all uncommon for this to happen.

Exporting 4K to 1080p H.264

Down-sampling from 4K to 1080p is something we specifically wanted to test to see how well Premiere Pro is able to utilize multiple CPU cores when both applying effects and resizing the video at the same time.

Unlike our 1080p H.264 results, this time the complex timeline is more efficient at 99% while the simple timeline is a bit lower at 93%. Both timelines hit a change in efficiency right after 6 cores with the simple timeline going down to 65% and the complex timeline going down to 50%.

65% is one of the higher "second wind" parallel efficiencies we saw in our testing, but even that is really not very good. It is enough that using an 8 or 10 core CPU may be faster than a 6 core CPU as long as the CPU frequencies are similar, but it likely won't be by much.

Exporting 4K H.264

4K video has four times the number of pixels as 1080p video so we expected Premiere Pro to be able to effectively utilize more CPU cores when encoding 4K video. Unfortunately, our results were actually the opposite of what we expected.

At lower core counts, the simple timeline was 92% efficient and the complex timeline was 97% efficient. However, both dropped off to only 40% efficient after only 5 CPU cores. At first we thought that either the video card or storage drive was becoming a bottleneck but going down to only a single GTX Titan X and changing the storage drive to either a slower WD RE 6TB or a faster Intel 750 NVMe 1.2TB did not result in any change to the export times. It is possible that we are being limited by the RAM speed or something within the chipset, but no matter what the end result is that if you are encoding 4K H.264 video in Premiere Pro you will only effectively be able to use 5-6 CPU cores.

Generating Previews

While encoding may be what most users end up waiting on the most, generating previews is usually going to be a close second. To see how well Premiere Pro uses multiple CPU cores when generating previews, we left Premiere on the default format of "I-Frame Only MPEG" and timed how long it took to generate previews for our timelines:

For 1080p video, our simple timeline was too basic to have a need for previews so we do not have any multi-core results for that timeline. For the complex timeline, however, we saw a 96% efficiency up to 4 cores, and a 65% efficiency after that. 

Generating previews for our 4K timelines was easily the most multi-core efficient task we tested in Premiere Pro. For both the simple and complex timeline we saw a great 98% parallel efficiency at lower core counts. It dropped off after either 6 or 7 cores, but even then the simple timeline managed to maintained a decent 80% efficiency. The complex timeline dropped off to only about 65% but even that is better than what we saw on most of the encoding tests.

Conclusion

We are going to be honest - the results of our testing did not at all line up with what we expected. If you look around the web for high-end Premiere Pro workstations you will find that the majority of them are based around dual Xeon motherboards and CPUs. Similarly, if you search for "how many cores does Premiere use" you will find forum thread after forum thread saying "as many as you can give it!". That is somewhat true - Windows reported all the CPU cores as being under 90+% load - but our testing showed that Premiere Pro was not able to effectively use all of those cores.

To summarize our encoding results, here is the parallel efficiency we saw for each of our encoding tasks:

Encoding settings Parallel Efficiency
(higher is better - 100% is perfect)
1080p MPEG-2 (simple timeline) 90% (35% after 4 cores)
1080p MPEG-2 (complex timeline) 96% (25% after 8 cores)
1080p H.264 (simple timeline) 98% (0% after CPU1)
1080p H.264 (complex timeline) 92% (0% after CPU1)
4K to 1080p H.264 (simple timeline) 93% (65% after 6 cores)
4K to 1080p H.264 (complex timeline) 99% (50% after 6 cores)
4K H.264 (simple timeline) 92% (40% after 5 cores)
4K H.264 (complex timeline) 97% (40% after 5 cores)

To be fair, at lower core counts Premiere Pro ranges from being decent to excellent in terms of utilizing each CPU core. The problem is that at a certain point (as low as only 4-5 cores) the parallel efficiency drops off dramatically. Some encoding resolution and codecs were better than others (1080p H.264 was able to effectively use the entire first CPU) but in general we saw diminishing returns after ~8 CPU cores.

We hit similar efficiency "walls" while generating previews, although it was not quite as bad:

Preview Generation Parallel Efficiency
(higher is better - 100% is perfect)
1080p (complex timeline) 96% (63% after 4 cores)
4K (simple timeline) 98% (80% after 7 cores)
4K (complex timeline) 98% (65% after 6 cores)

Overall, generating previews was actually more efficient at utilizing higher core counts than encoding was. We still saw a drop off after anywhere from 4 to 7 cores, but even then the efficiency stayed above 60%. That isn't great but it does mean that a 8-10 Core CPUs and even dual CPU configurations would be worthwhile from a performance perspective.

Based on our results, we can make a few informed recommendations as to which CPUs will give you the best overall performance in Premiere Pro:

In many situations, the E5-1680 V3 is going to be a great choice for Premiere Pro. It is a bit pricey for a single CPU (over $2000) but it will actually outperform most dual Xeon configurations since it has a relatively high frequency and hits the 8 core sweet spot we saw in most of our tests. If you can't quite afford the E5-1680 V3 then the E5-1650 V3 (or a Core i7-5930K) will be the next fastest CPU and should be only about 10% slower. There is a CPU model between these two choices (the E5-1660 V3 or Core i7-5960X) but our calculations show that it would actually give lower performance than either of the single CPUs we are recommending.

If you need the absolute best performance in Premiere Pro then a pair of Xeon E5-2643 V3 CPUs is what you want. Due to the drop in efficiency at higher core counts they may only be ~5% faster than a single E5-1680 V3 in some situations, but in others (like exporting a simple 1080p H.264 timeline) they will be as much as 25% faster. An additional advantage to the 2x E5-2643 V3 CPUs is that the 12 physical cores will provide plenty of horsepower in case you want to use both Premiere Pro and other applications like After Effects at the same time. If you need even more cores, however, a pair of Intel Xeon E5-2667 V3 3.2GHz Eight Core CPUs will be about 5% slower than two E5-2643 V3 and a bit more expensive, but in exchange will have four more cores in total.

If you would like to see an estimate of the relative performance of CPUs we recommended for the tasks we specifically benchmarked, we set up a Google Doc that includes that information. In fact, you can actually edit the CPU information in this Doc to get an estimation of the performance of other CPUs if you would like:

If you want to edit the CPU models you will need to create a copy of the doc (go to File -> Make a Copy) but once you do that you can change the CPU model, core count, and frequency numbers in the blue cells to see an estimation of how each CPU will perform relative to each other. Keep in mind that this method of determining relative performance is based on Amdahl's Law and is not able to accurately compare CPUs of different architectures (so no comparing AMD CPUs to Intel CPUs!).

One thing we want to make very clear is that our testing is really only 100% accurate for the video files, effects, and settings we used in our timelines. Different effects, resolutions, and codecs are going to change how well Premiere Pro can utilize multiple CPU cores. If you want more accurate results for what you actually do in Premiere Pro, we recommend following our Estimating CPU Performance using Amdahls Law guide. It can be a time consuming process (even with automation the testing for this article took a solid week of machine time) but it is really the only way to know for sure what the parallel efficiency is for what you do in Premiere Pro. One caveat is that if your current system only has a small number of cores (below ~10 cores) you may not get up to a high enough core count to hit the same efficiency walls we saw in our testing.

If you know of something in Premiere Pro that actually can utilize high number of CPU cores effectively, we would love to hear about it in the comments below. We are constantly re-evaluating hardware and software so any suggestions as to what we should include in future testing is extremely welcome!

Computer System

Premiere Pro Workstations

Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.

Configure a System!

Labs technician talking with customer

Labs Consultation Service

Our Labs team is available to provide in-depth hardware recommendations based on your workflow.

Find Out More!
Tags: Adobe, Premiere Pro, Multi-threading
Comments