Table of Contents
Introduction
The latest version of DaVinci Resolve (16.1.2) includes several great improvements, but in the middle of the updates notes is a very important one for people working with R3D media: "Support for CUDA based R3D with the latest RED SDK on Windows and Linux".
While it may appear like a fairly minor update to some, this is actually something we (and many others) have been looking forward to for quite some time. For those that are not familiar with the RED SDK, this is what applications like DaVinci Resolve, Premiere Pro, and a range of other applications use to process R3D footage. Unlike more straight-forward codecs like ProRes or DNx, RAW footage has to go through a multi-stage process to make it editable which includes steps for decompression and debayering.
This is very much a simplification, but decompression is essentially like unzipping a compressed file. You can get a much smaller overall file size by compressing the data, but it requires you to do additional processing before an NLE can use it. This is where the RED compression settings of 5:1, 10:1, etc. come from. Debayering, on the other hand, is the process in which the raw sensor data that is recorded from the camera is turned into actual video frames that can be edited.
For quite a while, RED's SDK has used the GPU for the debayering process, but this update allows for decompression to be offloaded to the GPU as well. Especially on systems with a relatively modest processor, this, in theory, should provide a significant increase in performance when editing RED media.
We plan on doing more in-depth testing in the future, but since we have been looking forward to this update for over a year, we couldn't help but do some quick analysis with a pair of different workstation configurations. Like always, we have plenty of graphs, but if you prefer to just read our final thoughts, feel free to skip right to the conclusion.
Test Setup
Listed below are the specifications of the two systems we will be using for our testing:
AMD Threadripper Test Platform | |
CPU | AMD TR 3960X |
CPU Cooler | Corsair Hydro Series H80i v2 |
Motherboard | Gigabyte TRX40 AORUS XTREME |
RAM | 4x DDR4-2933 16GB (64GB total) |
Video Card | NVIDIA Titan RTX 24GB |
Hard Drive | Samsung 960 Pro 1TB |
Software | Windows 10 Pro 64-bit (version 1903) DaVinci Resolve Studio (16.1.1 & 16.1.2) |
Intel 9th Gen Test Platform | |
CPU | Intel Core i9 9900K |
CPU Cooler | Noctua NH-U12S |
Motherboard | Gigabyte Z390 Designare |
RAM | 4x DDR4-2666 16GB (64GB total) |
Video Card | NVIDIA Titan RTX 24GB |
Hard Drive | Samsung 960 Pro 1TB |
Software | Windows 10 Pro 64-bit (version 1903) DaVinci Resolve Studio (16.1.1 & 16.1.2) |
*All the latest drivers, OS updates, BIOS, and firmware applied as of December 16th, 2019
For the actual testing itself, we will be using our DaVinci Resolve Benchmark that you can download and run yourself. However, since we are only concerned about the performance with R3D media, we will only be looking at the 4K RED, 8K RED to 8K, and 8K RED to UHD results.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.
DaVinci Resolve Studio 16.1.2 RED Performance Improvement
The new version of Resolve actually has multiple settings for how to use the GPU for R3D depending on whether you want the GPU to handle just the debayering process, or both debayering and decompression. Because of these choices, we will be looking at how the performance changes between 16.1.1 with the GPU set to "Debayer" versus the new 16.1.2 version with the R3D GPU set to both "Debayer" and "Decompression and Debayer".
To start, let's take a look at the performance with one of the best CPUs available for Resolve – the AMD Threadripper 3960X 24 Core:
To summarize these results, with the 16.1.2 update set to "Debayer" mode, we saw a 20% performance improvement with our 4K RED projects, 10% with the 8K RED projects, and 6% with our 8K RED to UHD projects. Keep in mind that this is just an average of all the tests. The performance gain in certain areas is lower, but in others – such as a relatively basic grade with 4K RED media – the performance gain is almost 40%!
What is really interesting to us is that in the "Decompression and Debayer" mode, the performance got worse. This was not at all what we expected since offloading the decompression process onto the GPU was what we were most excited about, but if you keep reading, it actually makes a lot of sense.
Moving on to the results with an Intel Core i9 9900K, things start to get really interesting. This processor doesn't have anywhere near the raw power of the AMD Threadripper 3960X, which not only results in lower overall performance in Resolve, but also influences how beneficial the "Decompression and Debayer" mode is.
Starting with the 16.1.2 update in "Debayer" mode, we saw about a 10% performance gain over the previous 16.1.1 version. That isn't bad, but it is only about half of what we saw with the AMD Threadripper 3960X.
With the GPU mode set to "Decompression and Debayer" for R3D processing, however, the average performance gain jumps up to 15-40%. In some cases – such as a basic grade of 8K RED media in a UHD timeline – Resolve was actually 2x faster with the new update! This isn't increasing from 2FPS to 4FPS either, but going from 18FPS to 36FPS! That is a massive increase with very tangible benefits to the workflow of many users.
Wait, a 9900K is faster than a 3960X?
While we didn't directly compare the two test platforms in the previous section, some people may have noticed that when the new 16.1.2 version is set to "Decompression and Debayer" mode, the Intel Core i9 9900K often out-performs the AMD Threadripper 3960X.
Does this mean that there is no need for a higher-end CPU for Resolve if you are working with R3D media? Not at all! What it actually means is that you have to be careful about which R3D GPU processing mode you use. Moving more of the processing to the GPU sounds like a good thing, but if you have a powerful enough CPU, it can actually be better to keep the decompression step on the CPU to free up the GPU to focus solely on debayering.
In other words, it is a balancing act between the CPU and GPU, and getting it wrong can have serious performance ramifications. We already mentioned how in "Decompression and Debayering" mode the 9900K is faster than the 3960X, but if we were to switch the AMD TR 3960X system to "Debayering" only mode, then the AMD Threadripper 3960X system ends up being around 15% faster than the 9900K.
This can be a bit confusing, but the reason behind it can be a bit clearer if we look at the CPU and GPU load during these tests:
Starting off with the CPU load, you can see that the 16.1.2 update in "Decompression and Debayering" mode (the green line) results in much lower CPU usage. If we are just in "Debayering" mode with 16.1.1 or 16.1.2, the CPU utilization is much higher. In fact, if you look at the second chart, you can see that in this mode, the Intel Core i9 9900K is often running at (or near) full load.
This is why "Decompression and Debayering" mode is useful with the 9900K when paired with a powerful GPU like the NVIDIA Titan RTX. In "Debayering" only mode, the CPU is very clearly holding back performance. By moving decompression off the CPU, and onto the GPU, however, we are alleviating some of that bottleneck. This can be seen if we look at the GPU load:
These charts are not quite as clear since the GPU is often always running at (or near) 100%, but you can see that the GPU is running at a slightly higher load when Resolve is set to "Decompression and Debayering" mode (the green line).
Of course, keep in mind that this is just the results from our two test configuration. If we were to have a less powerful GPU, or multiple powerful GPUs, that should change the results quite a bit. With the option to move decompression onto the GPU, you really need to consider the balance between the CPU and GPU power in your system before settling on either "Debayer" or "Decompression and Debayer" mode.
Is RED footage faster with DaVinci Resolve 16.1.2?
Yes! If you work with R3D media, the new DaVinci Resolve 16.1.2 update can significantly improve performance. An increase of 30% is not uncommon, and in some cases, we even saw a straight doubling of performance!
However, things are not quite as simple as you may like. Since this update allows you to choose between offloading either the debayering process alone, or the decompression and debayering process onto the GPU, you can easily run into situations where your GPU will be a bottleneck. What it comes down to is that if your CPU is running at near 100% when the R3D GPU processing mode is set to "Debayer", then you will want to switch to the new "Decompression and Debayer" mode to take some of the load off your CPU. On the other hand, if your CPU only ever hits at most 80-90% load, then you should keep the decompression process on the CPU and only set the GPU to "Debayer" mode.
Overall, this is an terrific update for DaVinci Resolve users who work with R3D footage. It certainly is going to complicate our testing since different hardware combinations are going to perform better in one mode over the other, but it creates a very interesting dynamic between the CPU and GPU. At first, your inclination may be to simply dump your budget into getting more GPU power if you work with RED footage, but with all the recent CPU launches and pricing adjustments, that may not actually be the case.
This is definitely something that we are going to look into in more depth. We expect multi-GPU configurations to make things especially interesting, and we really don't know how our hardware recommendations are going to change based on this update. Only a whole lot of benchmarking and testing is going to answer that question, so keep an eye out for an update to this article!
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.