Decent eGPU support in MacOS has been long in coming. But now it is here, what sort of performance increases can we expect in real world usage, and is it worth the hardware upgrade price?
Among the most significant critiques levelled against Mac computers has been the limited expansion capabilities. And in this world of GPU-dependent operations, particularly in the world of video production, there has been no greater limitation than graphics cards. I have more than once strongly considered either abandoning Macs altogether or at least adding a Windows computer with multiple or even one more powerful GPU.
Now MacOS 10.13.4 enables external graphics cards, known now as eGPU’s, on Thunderbolt 3 computers. That will include the current line of MacBook Pro’s as well as the iMac Pro.
Real world testing
I decided to conduct a simple test to determine whether that additional GPU would provide me with any marked improvement in speed for my own real-world applications. While the additional GPU is touted to accelerate VR performance, that was really of no use to me. I edit using Adobe Premiere Pro CC 2018, Final Cut Pro X and to a lesser degree Avid Media Composer with Symphony. I colour grade using DaVinci Resolve Studio and am exploring moving more editing tasks to Resolve as its editing capabilities mature.
For my test, I started with my MacBook Pro 2017 with 16GB RAM and an onboard Radeon 560 4GB GPU. Storage for this test is a Glyph 1TB USB C drive (RAID of two 500GB M2 solid state memory cards). The Blackmagic Speed Test showed this device acceptable for whatever codec and bit-depth I could throw at it.
The OWC Helios Fx eGPU enclosure
The test equipment
I am using the OWC Helios Fx enclosure ($319) with an MSI Radeon 580 Armour Mk II with 8GB of VRAM. General US street price for this card is $359-379 and OWC’s compatibility chart showed it compatible with the Helios Fx. It is worth noting that AMD graphics chipsets are used by a number of manufacturers and it is worth checking OWC’s compatibility chart for exact manufacturer and model before investing in a video card. As a general rule of thumb, though, the Radeon WX5100, WX9100, and Vega 64 cards are not compatible with this specific enclosure, most likely due to power requirements. Moreover, at the moment there is no Nvidia support by Apple, so forget about GeForce cards.
The OWC enclosure is large (7.9”x13.4”x7.3”). This is necessitated not just by the size of those dual backplate graphics monsters installed in them but also due to the cooling requirements. The box itself has no fan, however, the dual fans of my Radeon behemoth need some room for air circulation. It disassembles easily with thumbscrews and the only tool needed is a Philips head driver to remove the two backplate covers on the enclosure. The card slips in easily and the enclosure has sufficient power connectors of varying configurations to connect to any graphics card. It was a very quick and simple installation. Flip the switch, connect to the MacBook Pro via USB-C, connect to my LG 31” monitor via HDMI and it all works.
So, the first component of the test is a complete success. The OWC box is a well-designed piece of gear and the whole assembly ran cool.
Note that an eGPU icon will appear in the top right menu bar of the Mac with a pull-down to eject the eGPU if removing from the computer. Just think of it as a storage device that must be properly ejected. While I did pull the plug a couple of times and got that ominous Apple message about incorrectly ejecting the GPU, there were no problems when reconnecting the OWC-Radeon assembly.
Now for actual use
The purpose of multiple GPU’s is quite obviously accelerating processes offloaded to the GPU by applications. And those applications must be multi-GPU aware. The simplest way of monitoring whether an application is taking advantage of those multiple GPU’s is the Activity Monitor Utility. Launch Activity Monitor and from the top menu select GPU History. It will show all GPU’s connected to the computer and provide a running visualisation of usage, albeit with some lag.
Let’s look at some specific applications.
As I had expected, the greatest boost came in DaVinci Resolve beta 15. I imported some Sony FS7 Cinema DNG RAW files, full DCI-4K shot at 23.98 fps. When dropped onto the Resolve timeline, Debayered in full, with one LUT node and two grading nodes, the clips played back at between 19-20fps. This in and of itself is a respectable performance for a notebook computer. However, with the second GPU, three layers of RAW with full Debayering and some grading played back in 23.98fps real-time. The GPU representation in Activity Monitor showed GPU processing pretty much divided equally between the cards.
In its setup instructions for multiple GPU’s, Blackmagic notes to make certain that OpenCL is selected in the Preferences.
From this, I can conclude that a 2017 MacBook Pro with an eGPU can benefit greatly from the hardware addition.
Results from Final Cut Pro 10.4.2 were not so impressive. For this test, I imported clips from a Sony A7rIII shot in UHD with an HLG gamma. I checked the option to create optimised (i.e. ProRes) clips. These clips played back in near real-time on the notebook with only one GPU. The second GPU seemed to have little effect. While Activity Monitor showed spikes in the GPU history of the internal Radeon 560, there was very little activity noted on the external Radeon 580. Even adding multiple colour corrections, filters, transformations – you name it – failed to offload any significant processing to the second GPU.
Other users have indicated to me that they saw definite performance boosts in VR with FCP X. However, I am not working in VR at the moment, so it doesn’t help. Yet I must add that the eGPU capabilities are new and FCP X would require some under-the-hood tinkering to take full advantage. Since it is an Apple product, I would imagine that Apple has a multiple-GPU-aware version of FCP X in the development stage. Of course, it is only a speculation but one which I believe is plausible.
Adobe Premiere Pro presented some issues. I created a Premiere Pro project using the same HLG clips that I used in FCP X. With one GPU, clips played normally as expected. However, with the second GPU, Premiere refused to play any video while audio was played through the HDMI monitor. Subsequent attempts to save the project and restart Premiere, resulted in the application crashing on every attempt.
I trashed the project, relaunched Premiere Pro and started from scratch. This time, in the Project setup window, I chose Apple Metal rather than OpenCL. That immediately enabled video on both the computer screen and the external monitor. Furthermore, Activity Monitor showed that the heaviest graphics processing was on the external Radeon 580 with only minimal activity on the internal Radeon 560 card. Playback was smoother with graphics processing relying primarily on the more powerful Radeon 580 with double the RAM of the 560.
My conclusion with Premiere Pro is that while both GPU’s did not balance the processing load, the faster GPU took charge.
The real question then is the price-performance equation for your own uses. If you wish to use your notebook computer as a DaVinci Resolve station, it is absolutely worth the investment.
Final Cut Pro X does not yet take full advantage of the second GPU. Unless you are working in VR within FCP X, the benefits are minimal. It might be worth waiting for a multiple-GPU aware update to FCP X.
Premiere Pro sees a slight advantage in editing, effects and any GPU-based processing. The value is up to the individual.
The ability to add multiple GPU’s to the MacBook Pro and iMac Pro does represent a significant step forward for Apple. While immediate major processing speed is only seen in DaVinci Resolve, all of that is subject to change as developers update their software to keep up with Apple’s hardware.
I can strongly recommend the configuration which I tested – the OWC Mercury Helios Fx enclosure with a Radeon 580 8GB card. iMac Pro users might want to consider the more powerful (and more costly) Radeon Vega56 in a similar eGPU set up to match the internal Radeon Vega in the iMac Pro.
It’s definitely a technology in process and I would strongly urge interested users to keep monitoring developments.