Even though Final Cut Pro X curiously doesn’t support external GPUs yet, DaVinci Resolve is another popular NLE that already works with eGPUs on macOS. In fact, the $299 Studio edition supports multiple GPUs, which can have a noticeable effect on both timeline and render/export performance.
I’ve been super impressed with the relentlessness that Blackmagic Design, the creators behind DaVinci Resolve, has displayed while iterating on its hardware and software products. For example, DaVinci Resolve has progressed from what was primarily viewed as a colorist’s tool that you’d use and round trip back to your primary NLE, to a competent standalone NLE. The upcoming version 15, now in beta, even sports a motion graphics platform called Fusion that’s baked right in.
As I recently traversed the show floor in Las Vegas at NAB 2018, there was a noticeable buzz about DaVinci Resolve — several popular vendors specifically named-dropped Resolve in reference to its eGPU support, and noted the impressive performance gains made possible by this feature.
In this hands-on video walkthrough, I showcase using DaVinci Resolve with multiple eGPUs. As you’ll see, an eGPU can turn a MacBook Pro — a machine that’s basically unusable for editing in DaVinci Resolve on its own — into a capable editing machine.
To be clear, I’m far from a DaVinci Resolve expert, although it’s on my list of things to learn this year. From what I’ve tried of it, though, I’m impressed by its UI, layout, and breadth of under-the-hood features. If I ever had to switch from Final Cut Pro X, DaVinci Resolve would most likely be my first alternate pick.
With all of that said, I wanted to briefly test out eGPU-accelerated timeline performance and exports in Resolve and Resolve Studio 14. The Studio version, as mentioned, supports multiple eGPUs, but it’s also $299. That’s the same price as Apple’s own Final Cut Pro X, but Blackmagic Design offers a free version of Resolve with many of the same features. The free version, as you might expect, lacks support for multi-GPU setups, but nonetheless is an amazing value considering it’s free on the Mac App Store.
If you’re working with the paid Studio version of DaVinci Resolve, open a Project and go to Preferences → Hardware Configuration → and change GPU Processing Mode to OpenCL. Under GPU Selection Mode, choose the Manual option, and this will allow you to select specific GPUs for processing.
If you’re running the non-Studio version of DaVinci Resolve, you can select a single GPU for processing outside of an integrated GPU in something like a 13-inch MacBook Pro. If you’re using a machine with a discrete GPU, like an iMac Pro, this GPU counts towards your selection.
If you would like to harness the processing power of multiple GPUs simultaneously, then you’ll want to upgrade to DaVinci Resolve Studio. Once the GPUs that you’d like to use are configured, click Save, and restart DaVinci Resolve to apply the changes.
I performed my first test on my iMac Pro, which is a base model version with an AMD Radeon Pro Vega 56 GPU. Even though it’s the lesser of the two GPU configuration options when building the iMac Pro, the Vega 56 is no slouch so performance was pretty good out of the box. Yet, adding on one or two additional GPUs dramatically improved performance as you can see in the following comparison chart.
With both tests, I’m using an 8 minute 4K clip and exporting to 1080p using ProRes 422 HQ. The iMac Pro was able to export faster than real-time, even when working with just its own discrete GPU. Like I said, the Vega 56 is no slouch.
You may find that the return on investment from using more than one eGPU isn’t as worth it on a machine like the iMac Pro, which features a solid discrete graphics card already. Usually, just pairing a second GPU with it is enough to produce some impressive gains. After that, you may start getting into diminishing returns territory, but a lot depends on the type of projects and video that you’re working with. At any rate, better results are achieved when using at least two GPUs, but you’ll need to invest in DaVinci Resolve Studio in order to take advantage of that capability for now.
Keep in mind that because I decided to forgo the usage of a secondary display connected directly to the GPU inside of the external graphics box, the built-in RX Vega 56 never really got a break; it’s needed to drive the iMac Pro’s 5K display. This can explain why the performance between the RX Vega 56 and a card like the RX 580 was close, or in some cases, the lesser card performed better in certain situations. Remember that only the built-in GPU can drive the Mac’s internal display, so there’s always overhead when it comes to the discrete GPU inside an iMac or, in some cases, a MacBook Pro.
When combining the power of an additional one or two GPUs, then the performance gains are immediately noticeable, cutting export times by significant chunks. For example, when pairing up three GPUs — the built-in Pro Vega 56 + Vega 64 + RX 580 — exports times were cut by more than half in some scenarios.
The more effects and color correction placed on the timeline, the more pronounced the export time differences were. It’s one thing to experience such performance gains for a time or two, but imagine repeating this process over and over like some people need to do for their editing workflows. You can really start to understand how time-saving having that extra GPU can be.
The iMac Pro has four Thunderbolt 3 ports spread across two controllers. If you opt to use more than one eGPU, you’ll want to connect each to a different controller. That means connecting one eGPU to receptacle 1 or 2 and another eGPU to receptacle 3 or 4. In my experience, if you try to connect both eGPUs to receptacle 1 and 2, or 3 and 4, macOS will hang. That said, I’m using eGPUs from two different manufacturers: one from Akitio and one from Sonnet. Between the two, only the Sonnet eGFX Breakaway Box 650W is officially sanctioned for usage by Apple.
On my underpowered MacBook Pro, DaVinci Resolve’s eGPU support really wows in two ways: with general timeline performance, and when accelerating exports. My 13-inch base model MacBook Pro is a dual core Intel i5 machine with an anemic Intel Iris Graphics 640 iGPU. In other words, this is a terrible machine to try to do any sort of complex video work on, and it will absolutely slow to a crawl when trying to work with even basic effects like color correction, gaussian blurs, etc. Needless to say, having the extra boost provided by an eGPU results in night and day performance differences.
The 13-inch MacBook Pro has a single Thunderbolt 3 controller with two Thunderbolt 3 ports. It’s possible to connect an eGPU to each port if you wish to use more than one external graphics box.
Like with my iMac Pro tests, I ran two batches of tests on the MacBook Pro. The first set of tests involved just a straight export of an eight minute clip to ProRes 422 HQ. The next set of tests involved several effects applied to the timeline and that too was exported in ProRes 422 HQ.
The results, as you can imagine, were downright painful when just relying on the Intel Iris Graphics 640 integrated graphics. Timeline performance was particularly brutal, as frame rate would hover around an unusable 4-5 fps when working with my effects-burdened test.
However, when harnessing the power of one or even two eGPUs, the performance was in a whole different league, almost like having a brand new machine.
And keep in mind that you don’t need to use a secondary display with DaVinci Resolve to take advantage of the processing power that an eGPU offers. Simply connecting the eGPU to your Mac and selecting the appropriate GPU in Resolve’s settings is all you need to do to tap into the extra power. It’s impressive, and hopefully more developers will follow suit.
I have to admit that I was very disappointed to learn that Final Cut Pro X lacked support for eGPU acceleration in version 10.4.1. Sure, it was a great update in and of itself, but considering that eGPU support was the headline feature of the just-released macOS 10.13.4, one would think that Apple would take the opportunity to showcase the benefits of eGPU support with its flagship NLE.
Yet, seeing the potential of eGPU setups in DaVinci Resolve makes me optimistic about the future of software support for external graphics setups, not only with Final Cut Pro X, but with other applications as well.
With DaVinci Resolve, even if you use a fairly basic eGPU setup, you stand to reap massive performance gains. It makes me think that something like Sonnet’s eGFX Breakaway Puck Radeon RX 570, a portable all-in-one eGPU solution, would be great for DaVinci Resolve users who want to retain a small and light MacBook Pro setup, but still have enough power to work with effects-laden timelines and high quality exports.
What are your thoughts? Please share your comments down below.