Puget Systems print logo

https://www.pugetsystems.com

Read this article at https://www.pugetsystems.com/guides/1778
Article Thumbnail

Premiere Pro 14.2 H.264/H.265 Hardware Encoding Performance

Written on June 4, 2020 by Matt Bach
Share:

TL;DR: Premiere Pro 14.2 H.264/H.265 Hardware Encoding Performance

Premiere Pro has supported H.264/H.265 hardware encoding for a long time, but it was limited to Intel CPUs that supported Quicksync. In the new 14.2 version, Adobe has added GPU-based hardware encoding that supports most modern GPUs from both NVIDIA and AMD.

Exactly how much faster this new hardware encoding is over software varies based on your system hardware, source media, and export setting. However, we saw on average around a 2x improvement in export times, but in some cases, it was more than 5x faster with only a minimal difference in video quality.

Introduction

With the launch of Premiere Pro 14.2, Adobe has added support for GPU-based H.264/H.265 (HEVC) hardware encoding which allows you to utilize specialized hardware built into NVIDIA and AMD GPUs to improve export performance when exporting to H.264 and H.265.

In previous versions of Premiere Pro, hardware encoding was supported, but only via Intel Quicksync. This implementation worked pretty well, but Quicksync is only available in Intel's consumer and mobile processor families. This meant that high-end Intel systems with X-series processors - and all AMD systems - did not have an option for hardware encoding. Quicksync is still supported if you do not have a compatible GPU, but support for AMD and NVIDIA GPU-based hardware encoding will not only allow almost everyone to have a method to greatly improve performance when exporting to H.264 and H.265, but should also be significantly faster than Quicksync.

If you want to get into the details of this feature (including how to use it and what GPUs are supported), Adobe has a blog post with additional information that we recommend checking out.

Premiere Pro 14.2 - H.264/HEVC NVIDIA and AMD GPU Hardware Encoding

A few months ago, we published some initial testing of this feature while it was still in beta, but now that it is fully released, we decided to do a much more in-depth analysis. We want to see how the performance changes when exporting to different resolutions and bitrates of both H.264 and H.265, as well as how the performance changes with different CPUs and GPU models from both NVIDIA and AMD.

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 Consultation Service

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

Find Out More!

Test Setup

Listed below are the specifications of the systems we will be using for our testing:

Intel Z490 Test Platform
CPU Intel Core i9 10900K
Intel Core i5 10600K
CPU Cooler Noctua NH-U12S
Motherboard Gigabyte Z490 Vision D
RAM 4x DDR4-2933 16GB (64GB total)
(Set to 2666Mhz for 10600K)
AMD X570 Test Platform
CPU AMD Ryzen 9 3900X
CPU Cooler Noctua NH-U12S
Motherboard Gigabyte X570 AORUS ULTRA
RAM 4x DDR4-2933 16GB (64GB total)
AMD TRX40 Test Platform
CPU AMD TR 3970X
CPU Cooler Noctua NH-U14S TR4-SP3
Motherboard Gigabyte TRX40 AORUS PRO WIFI
RAM 4x DDR4-2933 16GB (64GB total)

*All the latest drivers, OS updates, BIOS, and firmware applied as of June 1st, 2020

To see how well GPU-based hardware encoding works, we will be using four different CPUs paired with five different GPUs from both AMD and NVIDIA. We will also include software encoding to act as a baseline for each platform and Intel Quicksync on the Intel 10th Gen CPUs which results in 26 different hardware configurations that we will be testing.

Note that in order to test Quicksync, we had to roll back to Premiere Pro 14.0.3 since we couldn't find a way to force hardware encoding to use Quicksync instead of the GPU in Premiere Pro 14.2.

For our testing, we used the "Lumetri Color" sequences from our PugetBench for Premiere Pro benchmark which includes 4K H.264 150Mbps 8bit, ProRes 422, and RED media as well as a "4K Heavy GPU Effects" sequence that is designed to put a heavy load on the GPU. Since we want to see if there is a difference between exporting to H.264/H.265 and if the export settings affect performance, we will be exporting with the following settings in both hardware and software mode:

  1. H.264 40Mbps UHD (3840x2160)
  2. H.264 16Mbps HD (1920x1080)
  3. H.264 8Mbps HD (1920x1080)
  4. HEVC 40Mbps UHD (3840x2160)
  5. HEVC 16Mbps HD (1920x1080)
  6. HEVC 8Mbps HD (1920x1080)

This combination of CPU, GPU, source media, and export settings results in over 600 data points which should give us a great idea of how this new feature performs in a variety of situations.

Raw Benchmark Results

While we are going to go through our analysis of the testing in the next section, we always like to provide the raw results for those that want to dig into the details. If there is a specific codec or export setting you tend to use in your workflow, examining the raw results for that task is going to be much more applicable than our more general analysis.

Benchmark Analysis: GPU Accelerated H.264/H.265 Encoding

When we started our testing, we had the hope that the results would be fairly consistent with similar performance gains no matter what your source media and export settings. Unfortunately, that ended up not being the case and there are a ton of nuances we found in our testing.

So, buckle up and get ready for a lot of reading if you want to fully understand how this new feature performs with different media, export settings, CPUs, and GPUs.

Premiere Pro 14.2 - H.264/H.265/HEVC NVIDIA and AMD Hardware Encoding Benchmark Performance

Before we really get into the weeds, we wanted to give a look at the overall average and maximum performance gain we saw with each GPU compared to software encoding.

Looking at the average across all our testing, the results are decent with Intel Quicksync providing a roughly 20% increase in performance, AMD GPUs providing a 30-45% increase, and the NVIDIA GPUs ranging from 40% to almost a 2x increase in performance.

While a 1.3-2x increase in export performance is nothing to scoff at, it really isn't a fair way to measure hardware encoding since it is combining all of the results - including those from situations that are far from ideal for hardware encoding. This includes the tests using a powerful AMD Threadripper 3970X CPU (which has so much power that even software encoding is pretty speedy) as well as our 4K RED and "4K Heavy GPU Effects" sequences that are already putting a heavy load on the video card on top of the hardware encoding.

Another way we can look at the results is the maximum performance gain over software encoding from all 600 data points. When we do this, it really shows the potential of GPU hardware encoding with the AMD GPUs proving a 3-3.5x increase in performance and the NVIDIA GPUs providing a 3.5-5.5x increase!

This of course is a bit of an optimistic way to look at the results (you might call it cherry-picking), but if you want to know just how much faster hardware encoding can be, this should give you a good idea. In general, however, most people will likely experience something between the average and maximum performance gains. To get a more solid feel for the nuances of this technology we have to dive into the results in more detail:

Premiere Pro GPU Encoding H.264 to H.264

Working with H.264 media may not be ideal from an editing standpoint, but it is by far the most common codec used since it is what most cameras record natively with. If we separate out the results for each CPU/GPU combination when exporting to "H.264 40Mbps UHD", we get a great look at how the performance might change with different CPU and GPU combinations.

What is interesting here is that the export performance (we are reporting in FPS) is actually fairly consistent across each CPU. There is, however, a big difference in performance between each of the video cards. Where the AMD Radeon RX 5700XT, Vega 64, and NVIDIA GTX 1660 Ti were able to export at around 100 FPS, the NVIDIA RTX 2070S 8GB and RTX 2080 Ti were able to export about 30-50% faster.

What this means is that if you use similar media and export settings as this test, your CPU will have almost no bearing on how fast you can export. Now, this is actually one of the best-case scenarios for hardware encoding that we found, so to keep things in perspective let's also look at one of the worst cases:

Premiere Pro hardware accelerated encoding with RED media

If you often work with RED media, hardware encoding can definitely still improve your export times, but we found that the CPU was often the limiting factor.

As you can see in the chart above, the export performance is pretty much locked to the CPU rather than the GPU. The Core i5 10600K hit a wall at about 55 FPS, the Core i9 10900K at about 95 FPS, and the Ryzen 3900X at about 110 FPS. Only the AMD Threadripper 3970X really showed a difference between the various GPUs, and even then, the NVIDIA RTX cards were only a small 10% faster than the AMD Radeon GPUs.

The why behind this is pretty simple: at a certain point, encoding to H.264 simply stops being the bottleneck, and processing the RED footage is the limiting factor. Even though Premiere Pro does use the GPU for debayering RED footage (which should make higher-end GPUs better), it still uses the CPU for decoding which makes it very important to have a powerful CPU. And even if Premiere Pro implements GPU-based decoding for RED footage, if it is anything like what we saw in DaVinci Resolve, if you have a mid-range and above CPU it is better to leave decoding on the CPU in order to prevent your GPU from becoming a bottleneck and actually making performance worse.

To round out our analysis of the new GPU-accelerated hardware encoding feature, we are going to leave you with a chart looking the average performance gain with each CPU/GPU combination, as well as a number of charts looking at the performance gain with each CPU and source media individually.

There is a lot going on in these charts, but here are some of our observations after staring at the data for a few hours:

1) The performance gain over software encoding is overall about the same when exporting to both H.264 and H.265, although H.265 still often takes longer since it is a much harder codec to process.

2) The largest performance gains tended to be when encoding our 4K source media to 4K H.264/H.265 40Mbps. Likely, this is due to the fact that there is no downscaling that needs to happen like there is when exporting 4K source media to 1080p, but it may also be due to the higher bitrate.

3) Intel platforms are slightly better for encoding H.264 source media to H.264 (and presumably also for H.265 -> H.265) since they have Intel Quicksync which helps accelerate decoding of the source footage. It is significant enough that on our tests with H.264 source media, the Intel Core i5 10600K 6 Core was often as fast or faster than the AMD Threadripper 3970X 32 Core. This means that if you work with a lot of H.264/H.265 media and want to minimize export times, you should stick with an Intel-based system with Quicksync - at least until Adobe adds GPU-based H.264/H.265 decoding.

4) In general, the largest performance gains will be seen on systems with relatively underpowered CPUs compared to their GPU. It varies based on your source media and export settings, but where we saw a maximum 5.5x increase in export speed with the Core i5 10600K 6 Core, the AMD Threadripper 3970X 32 Core system only saw at most a 3x increase in performance. The Threadripper system is certainly overall much faster at exporting (with the exception of H.264 source media as noted in the previous point), but the relative performance gains are not quite as significant.

5) You have to be a little careful about using hardware encoding if you use a lot of GPU accelerated effects. At a certain point, you are going to turn your GPU into a major bottleneck, which can result in worse performance with hardware encoding than software encoding. You have to take it pretty far, however, so this is not something most people will experience in the real world.

Software vs. GPU Hardware Encoding Quality

For those that are not aware, there is an issue with hardware-accelerated encoding - the quality is technically a bit worse than software encoding. For some people, the quality difference is so small that it doesn't matter, while for others it is a major issue. Which side of the fence you fall on is completely up to you and your workflow, so we are not going to make any firm declarations about whether it is acceptable or not.

What we will do is allow you to download sample exports from our testing so you can make that call yourself. Of course, there is no substitute for doing a direct comparison yourself with your own projects since everything from your source media, export settings, to the specific effects and transitions used can affect the quality. If you do download our samples, we found that the largest difference in quality shows up on the road pavement and the writing on the side of the van as it drives by. Also, be sure to compare the quality from both the NVIDIA and AMD hardware encoding clips as it is slightly different.

For those that don't want to download and examine these clips, we will say that the quality difference appears to be extremely small in our test cases. The exports at a lower bitrate show more of a difference that at higher bitrates, but in most cases, it is hard to really decide which is better in a blind test unless you zoom in quite a bit. The only area that we noticed the difference was on the road's paved surface which has a ton of fine details that can be lost at lower bitrates with hardware encoding.

Software vs Hardware Encoding Rendering quality difference

One thing to keep in mind is that our testing was done with "VBR, 1 pass" since hardware encoding currently doesn't support 2 pass encoding. If you were to use 2 pass encoding with software encoding, the quality difference would be a bit more pronounced (although it would also take significantly longer).

How well does Hardware Encoding work?

Overall, the new GPU-based H.264/H.265 (HEVC) hardware encoding in Premiere Pro is very impressive and a significant improvement over using Intel Quicksync. Depending on your source media, export settings, and how powerful of a CPU/GPU you have, the performance gains may only be a 1.5-2x increase in export performance on average, but in some cases, we saw up to a 5.5x improvement in export times.

From a quality perspective, we only noticed a slight loss of very fine detail on surfaces like road pavement. This small difference in quality may not be acceptable for master copies depending on the type of work you do, but it will likely be completely unnoticeable if you upload your videos to YouTube or other video streaming services.

One great aspect of this feature is that since GPUs are much simpler to upgrade than processors (which will usually require at least a new motherboard if not new RAM as well), this gives Premiere Pro users a much easier upgrade path if they wish to improve performance. This may only be for encoding (exporting) at the moment, but we have to imagine that at some point Adobe will also make GPU-accelerated H.264/H.265 decoding available as well.

If you try out hardware encoding on your own projects, let us know what you think in the comments! How much faster was it, and did you see any appreciable quality difference?

Premiere Pro Workstations

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

Configure a System!

Labs Consultation Service

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

Find Out More!
Tags: Premiere Pro, H.264, HEVC, Hardware Acceleration, hardware encoding, H.265

Thank you for this, I've been waiting to see the results of your testing as an owner of a 3950X and RRTX2060 Super.
I shoot 200megabit H265 4K from an X-T3 and X-T4 and would love to see some benchmarks with H265 source media.
I'd happily provide some footage to you if you want to add it to your tests. For me H265 is a must as these cameras go from 10bit to 8bit when switching to H264. I think H265 source media will become more common as most new cameras seem to be supporting it, often with advantages in color depth or just filesize.

Thanks again!

Posted on 2020-06-04 22:42:53

We used to include some H.265 source media, but the performance was just so bad that it really didn't make any sense to keep testing it. Technically there is hardware that is better for it, but is there really an effective difference between being able to play it at 8 FPS or 10 FPS?

If/when Adobe adds GPU-based H.264/H.265 decoding, that is likely when we will add H.265 as a test codec. Like you said, it is becoming more and more common - especially from people using cell phones and drones.

Posted on 2020-06-04 23:01:19

Without actually testing it, how would you expect a H265 source file exported to a H264 (IE: new fuji camera to youtube export) at 4k to behave. For example, would looking at the H264->H264 export give me a rough idea of what to expect or would it be more similar to the Red exports where it's more CPU limited due to the more advanced codec?

Posted on 2020-06-04 23:04:18

The speedup should be pretty similar to the H.264->H.264 tests we did. H.265 really behaves very similarly to H.264, just overall hardware to process.

Posted on 2020-06-05 16:12:32
DAT VO

With this version of Pr pro,
Does dual Gpu increase performance more than single
My Gpu now is Gtx 1070, I consider to buy 1 more with Sli bridge HB
Thanks.

Posted on 2020-06-06 09:49:49

Hardware encoding is limited to a single GPU at the moment, and I really wouldn't expect that to change in the future.

Side note: if you do go with dual GPU (it might improve performance a hair if you use a ton of GPU accelerated effects), do not put the cards in SLI. It won't help performance at all over having them not in SLI, and SLI tends to cause performance/stability issues in apps like Premiere Pro.

Posted on 2020-06-08 17:24:12
Kartikeya

I can;t seem to find any information on if this works in Media Encoder too!

Posted on 2020-06-07 12:34:58

I believe it is in AME as well. Adobe notes AME in their blog post https://community.adobe.com...

Posted on 2020-06-08 17:25:01
Kartikeya

thanks Matt, this seems to be the only reference to it
AME can use two cards if one is Intel and one is Nvidia in case of Parallel encoding.

Posted on 2020-06-08 18:30:19

Looks like it is also in the Media Encoder update notes: https://helpx.adobe.com/med...

Posted on 2020-06-08 19:51:48
Federico

hi all I have premiere pro 2020 (14.04) an RX 5700 XT but I can't export using hardware enconding, only through software, can you help me understand how to activate hardware encoding?

Posted on 2020-06-07 15:27:02
R.J. Leong

You can't in 14.0.4. Hardware encoding in 14.0.4 is supported only by Intel HD/UHD/Iris Graphics. If you have a CPU that does not have an integrated Intel GPU, or if the integrated Intel GPU is disabled in the BIOS setup, then all encoding in 14.0.4 is software only.

You need to update your Premiere Pro to 14.2 or higher in order to enable hardware encoding through a discrete GPU.

Posted on 2020-06-08 04:45:23
Ampere

https://helpx.adobe.com/pre...

https://helpx.adobe.com/pre...

Adobe Premiere Pro 14.3 (June 2020 release) with more bugfixes.

Posted on 2020-06-16 22:49:57

Yep, glad to see them working on stability! Looks like nothing that will affect straight performance, but having something crash less often is way more important than anything else IMO.

Posted on 2020-06-16 23:00:51

Hola!

I have been following this thread for several weeks, now that I have the version, I have rendered on 2 computers with NVIDIA GPUs, to be specific with GTX 1060 AND GTX 2060, At the time of hardware rendering, I monitor the activity of the CPU and GPU, and I have noticed that the CPU (intel i7 8700K with Nvidia1070), the processor does not use more than 40% of power while the GPU does not raise 1% of its power, I use NZXT CAM to verify, you will know why this is ? Am I missing something?

Thanks in advance.

Posted on 2020-06-18 21:12:54

Honestly, I don't trust load percentages regardless of whether you are using task manager or any other application. Especially when you are running an application that uses both the CPU and GPU (like Premiere Pro), I have rarely been able to pull anything meaningful from load percentages except in extreme cases. There are simply too many other factors like polling intervals, other bottlenecks (chipset, RAM, etc), individual core load, and other things way over my head that impact it to make it useful most of the time.

By far what is more important is the actual performance you see. If using the GPU-accelerated encoding improves your export times, that means it is working. I'm sure if you changed your source media, export settings, and changed some hardware that you could get a higher load percentage, but I don't really see the point to doing that. No reason to change your workflow to get higher GPU utilization unless it is actually an improvement in terms of quality and performance as well.

Posted on 2020-06-18 21:22:25

Hi Matt Bach , thank you so much for quick answer. This question is not so important, just curious about why do not saw a high load in the GPU. But You right, the rendes was very fast, I'm rendered by software takes 2 minutes, by hardware was 1 minutes. I have a SSD for OS, a SSD for the cache files, and a hard drive by the footage (I use Sony A7III with codec H264 like footage.

I appreciate your work and your team too, Best Regards from Cancun Mexico.

Posted on 2020-06-18 21:38:51
任柔

Matt,I Find 3 Nvidia software maybe can answer about "load percentages"
Nsight Compute : CUDA application interactive kernel profiler
Nsight Graphics : Graphics application frame debugger and profiler
Nsight Systems : System-wide performance analysis tool

Maybe You can use these software for analysis to improve the technical level of your articles.
i don't know how to Use these software But I think you can~~ (*^▽^*) Best Regards from China.

Posted on 2020-07-02 09:28:47
Nicolas

Hello,
Thank you for this precise article!
Can the GPU model slow down the CPU? I have a P2200 quadro with a 3960x Treadripper, but with Premiere Pro renderings the 3960x is only at 25% utilization ... and I'm wondering if it's because of my P2200 (too weak?)
Thank you !

Posted on 2020-08-20 16:58:42

Depending on how many GPU accelerated effects you are using, it certainly can. However, it is more likely that Premiere Pro is simply not using all your CPU cores, so a good number of them are idle. It is always a good idea to look at per-core load rather than the overall load so that you can see if there are a couple of cores that are under high load.

Very few applications (especially those that use a mix of CPU and GPU) are going to be able to utilize all the cores on a CPU like that, so it is not at all unusual to see only a handful of cores actually being fully loaded.

Posted on 2020-08-20 17:23:19
Nicolas

Thank you for your quick response.
I understand that Première Pro may not be able to use all cores, however, I am a little disappointed with the performance with the 3960x: compared to another PC with an Intel i7 9700, the speed rendering improvement with Première is only 40%, that doesn't seem like much to me compared to other tests seen on the net ... During your tests, did you notice any differences in the functioning of the processor, depending on the graphics card used?
Computing speed is very important to me, what do you think I should do? Trying to change the graphics card anyway?

Posted on 2020-08-21 07:23:10

It depends on what you are doing. In some of our recent tests, a 3960X is only about 10% faster than the 9700K when exporting H.264 media to H.264, but more than 2x faster when exporting to ProRes: https://www.pugetsystems.co... . GPU accelerated H.264 encoding is going to change that a bit, but if anything will make those two CPUs perform even closer since the encoding is being offloaded to the GPU (assuming you enable it of course).

Posted on 2020-08-21 16:17:25
Joel Hazel

Is there something I'm missing? On my old Intel board I just checked to make sure my Preferences > Media > "Enable hardware accelerated encoding and decoding" .. was checked and in Project Settings > General > Renderer > "Mercury Playback Engine GPU Acceleration (CUDA)" was set .. but with both of those on my new Ryzen 9 setup, I'm not able to use hardware encoding. Some other option that I'm missing perhaps?

My system specs are as follows:
AMD Ryzen 9 3900X 3.8 GHz 12-Core Processor
Gigabyte X570 AORUS MASTER ATX AM4 Motherboard
Corsair Vengeance RGB Pro 64 GB (4 x 16 GB) DDR4-3200 CL16 Memory
Samsung 860 Evo 1 TB 2.5" Solid State Drive
Sabrent Rocket 4.0 1 TB M.2-2280 NVME Solid State Drive
EVGA GeForce GTX 1070 8 GB SC Gaming ACX 3.0 Video Card

Posted on 2020-09-12 17:25:50
Joel Hazel

Uninstalled and reinstalled the Nvidia Drivers for the GPU and that seemed to do the trick. Though, that said, not really noticing a difference thus far in export times so who knows.

Posted on 2020-09-17 20:02:42