Skip to main content

eGPU for video processing on a laptop – Does it make sense?

I needed a portable solution that could also serve as my video editing station so I had to decide if a quad core with a dGPU is that important in my workflow. I did a small test with proxy generation in FCPX across MBP 15", MBP 13" & MB 12". It was with 3 XAVC-S 4K files with a total of 10min duration, located on an external USB3 hard drive:

MBP 15" 2.7 455 2016        ~ 3.5 min
MBP 13" 3.3 2016              ~ 4.5 min
MB 12" m7 2016               ~ 15.5 min

I knew the 12" throttled but after the test I realized how much it can affect performance. I was very impressed with the performance of the 13", it was much closer to the 15” than expected for a supposedly CPU heavy task.  The 13” would be a problem for Resolve though because it lacks a dGPU, but the eGPU solution looked promising so I got an AKiTiO Node to try with my GTX titan & the MacBook 13 3.3 2016 . It was a breeze to set up with instructions from this very useful forum: https://egpu.io/forums/mac-setup/automate-egpu-sh-is-reborn-with-amd-polaris-fiji-support-for-macos/paged/1/. I tried 3 NLEs with my typical workflow plus two standard tests for Resolve (Candle) and FCPX (BruceX):
Davinci Resolve



Resolve does most of its processing on the GPU. CPU is only used for encoding/decoding and for general UI control. Since davinci resolve relies heavily on the GPU, an eGPU easily gets you to high end desktop performance. It can outperform most “latest” MacPro configurations if you look at the candle test which reflects well the general performance of Resolve.

Premiere Pro



With eGPU & accelerated effects, you will see great performance improvements (~10x with the Titan X J ). Unfortunately encoding/decoding & stabilization depend only on CPU so you will not see a difference there. For the stabilization results I extrapolated from the 5% of the task, so while it could be faster than 2 hours it is still dog slow.

FCPX



Even though FCPX is very well optimized for the mac hardware, you can still observe significant improvements when using an eGPU. eGPU acceleration for stabilization works even without an external monitor but BruceX (or general rendering) works only when an external monitor is used. There are plenty reports that show FCPX is optimized for OpenCL but currently there is no way to make AMD GPUs work with the latest macs & thunderbold 3. If you are on an older mac or have a TB2 solution then I believe this does not affect you, and with an AMD card you will have even better results.

Conclusions
1.    An eGPU solution makes sense with any of the three NLEs (if you are mostly editing on a desk) with either a PC or Mac and a thunderbold port.
2.     Premiere is the only program that requires fast CPUs in addition to a single discrete GPU, so plan for a quad core.
3.     Resolve really sings with the eGPU solution. It’s really a no-brainer for laptop users.
At the end I am really happy I didn't choose a 15" & that the 13" with the eGPU is giving me similar performance to my 8core desktop.

Comments

Popular posts from this blog

rec709 LUTs - Fuji color profiles

I did some quick reverse engineering of some of the Fuji profiles and created rec709 LUTs that can achieve similar results. No Fuji camera necessary and no need to shoot with a baked-in profile! Here is an example applied to a clip from A7rII: Long story short took advantage of the fact that Lightroom allows color profiles to be used with RAW files. Then I computed the three-dimensional affine transformation that can remap the default color space from adobe to any of the Fuji psrofiles. I can do a much better job if I find color samples that span most of the 3D space. For this I used 4 sample images from dpreview and imaging resource. The good thing is that I can use the program that I wrote to compute any transformation that is needed. For example S-log/s-gammut to rec709, or slog to clog, rec709Sony to rec709Fuji etc... I only need two images from the two profiles with the same color information such as a colorchecker and of course neutral WB and same exposure.  You can fi

Lightroom & Skin tones

Many of you will call me crazy, but I got spoiled from the colors (especially the skintones) that I can get from my A7rii in video with the custom profiles. Still profiles in camera just do not have the same customization level as in the video. Even crazier was the fact that I could not get the stills to look as good with Lightroom, unless I spent a significant amount of time fine tuning all different color settings for each picture. While Lightroom offers plenty of controls to mess with color, it still does not give you the full control like 3D LUTs do (check this to see what I mean). Lightroom has some default camera profiles that you can use but none of them really look that good. For example with the A7rii the default Adobe Standard looks washed out and the Camera portrait has Sony's renowned green-yellow skin tones. Then I found out about the  DNG profile editor , which acts like an LUT editor for stills. It is quite straight forward to create your own custom profile: Ex

A story about 4K XAVC-S, Premiere and transcoding

My laptop was not very happy that I got the A7rII. So there my quest for the smoothest 4K editing begun. First, I tried transcoding, but as you will see further down it did not give me the results that I was expecting, I could not match the quality of the original. Low res proxies would not cut it since I use warp stabilizer before I start editing. “Fkit, I ll make the machine of my dreams” I said. But no luck. This buttery smooth experience that I had with 1080p was impossible to reproduce with 4K XAVC-S. Solution? 4K proxies. All tests below were done with an E5-1680v3 @4.5, 64GB EEC RAM, TITAN X, Revo 350 among other irrelevant hardware with Premiere CC 2015 and Windows 10. Hard to build something faster for Premiere ( https://www.pugetsystems.com/labs/articles/Adobe-Premiere-Pro-CC-Multi-Core-Performance-698/ )  . A single XAVC-S 4K 24p file was used. to render all the files with “Max Quality”, “Render at maximum depth”, “Use maximum render quality” with the Adobe media encoder