Three Tips to Boost DaVinci Resolve Performance
DaVinci Resolve 12 is the most powerful version yet of the industry’s most loved finishing tool. It also has a greedy appetite for GPU power. Thankfully there are some clever tools built in to make sure you can still get the job done when Resolve starts to slow down.
If your system is lagging and you’re not able to upgrade your hardware, there’s a few ways to make your Resolve experience a bit more manageable. I use the word manageable, because these tools will not directly speed up your system, but they do help you manage your hardware limitations, and can ensure real-time performance where it’s most important at the cost of some rendering time.
We live in an instant world, and we expect instant response from our technology. Few people realise just how much we are expecting from a system such as Resolve when it comes to fluid real-time native playback of very high resolution, complex digital video formats. By “native”, I mean original camera source media that has not been transcoded into some kind of more manageable “proxy” media first.
At the high-end this could be 4K – 6K (soon 8K) camera RAW, it could be 4K DPX frame sequences from scanned film negative, CinemaDNG RAW or OpenEXR frame sequences. It could also be 4K ProRes 4444 XQ or 1080p ProRes 422. Increasingly it’s 4K XAVC or complex H.264 based temporally compressed codecs.
Resolve’s “real-time” native performance with any of this media depends primarily on your hardware and the codec involved.
It Takes Two – The CPU and GPU
It’s a myth that Resolve relies only on the GPU for all data processing. Any compressed format first has to be decompressed by your system CPU before it can be handed over to your GPU. Compression methods can be temporal, or non-temporal. This describes whether changes in the image are analyzed over time and compressed across a certain number of frames (temporal), or if each frame is analyzed and compressed individually (non-temporal).
Temporal compression methods tend to create smaller files, but are more mathematically complex (and more CPU intensive) to decompress. Non-temporal compression methods result in larger files, but are less intensive on your CPU to decompress.
Three things must happen for you to experience real-time playback.
- Your system must be able to read data from your storage at the required rate (bandwidth).
- Your CPU must be capable of decompressing data fast enough to deliver frames at the required frame rate to your GPU.
- Your GPU must be capable of manipulating image data fast enough to deliver all your nodes of correction and output the result at the full real-time frame rate.
If one or more of these steps can’t keep up, Resolve will not be able to deliver your real-time frame rate.
Without increasing hardware performance, the only thing that will make real-time playback possible is to temporarily substitute the source native camera media with a lower resolution, less hardware intensive copy or “proxy” of the source media.
Resolve 12 gives you a few tools to seamlessly create and manage these temporary proxy media files without requiring you to relink or reconform your timeline manually.
Resolve’s “Optimized Media” tool allows you to create low res proxy media from selected source clips in your media pool, which are then managed automatically. Resolve handles the linking of your timeline to either proxy or camera source files dynamically allowing you to flip between using the proxy media for real-time playback, or camera source files for optimal quality and delivery.
Optimized Media is perfect for streamlining your editing experience when you don’t want to resort to a manual offline/online workflow on a system which otherwise lacks the power to play your camera source media in real-time. Using Optimized Media will cost you some rendering time and additional storage space as Resolve needs to create the proxy files for all the media you want to use but it only does this once.
Note that you can change the optimized media settings under “General Options” in Resolve’s Project Settings.
You turn on this feature by selecting “Use Optimized Media If Available” under Resolve’s Playback menu. You can then create optimized media for your camera source clips by selecting them in the media pool, right clicking and choosing to “Generate Optimized Media”.
Resolve’s Smart Cache gives you the ability to temporarily render proxy files for clips in your timeline. These temporary files allow Resolve to maintain real-time playback of selected clips or sections of the timeline when otherwise linked to camera source files. However, these clips are re-rendered every time you make a change or adjustment.
When Smart Cache is turned on, Resolve automatically decides what to cache. If you want more control you can turn on User Cache instead and flag only clips on the timeline that you want rendered.
You can then right click on clips in the timeline and choose “Render Cache Clip Output”. There are actually three types of cache in Resolve. The Source, Node and Sequence caches are separate and to deal with them in detail is beyond the scope of this article. You can refer to p142 in the manual for more on the three different types of cache and how they work.
Proxy Mode in Resolve is perhaps the simplest method of reducing demand on your hardware. It relies on Resolve’s resolution independence to lower the resolution of your clips on the fly. You can reduce the working resolution by half or quarter of your current timeline resolution.
This article is not intended to be a in depth how-to tutorial, just to make you aware that these methods exist, how they work and how they can help you. I highly recommend downloading the latest DaVinci Resolve 12 manual and actually reading up. Chapter 5, from page 133 will give you all the information you need.