I had time to do some export testing from Premiere Pro CC and Final Cut Pro X 10.1. Definite proof that second GPU is being used, and worth it!
I started with the same RED UltraHD timeline I had for the real time performance tests for Final Cut Pro X 10.1 and Premiere Pro CC, except that I copied everything and pasted it twice again to the end of the project/sequence.
As a test I exported that timeline to 4K ProRes 422 and to 1080P HD (scaled from the UltraHD for Apple Devices). ProRes is an all I-frame codec and should be faster to encode that a typical long GOP H.264 encode. The source timeline is 23.976, aka 24P.
In both Premiere Pro CC and Final Cut Pro X the export is handled in the background, so work can continue on the edit. I chose not to continue to work as that would have created a variability to the encode times as resources are split between playback and the encode. All encode tests were done with no other apps running and limited interactivity with the computer.
Premiere Pro CC
When you export from Premiere Pro the actual encode is handled by Adobe Media Encoder. The first export you do, there is a 31 second (on the test Mac Pro with SSD) to start up AME. There is no corresponding delay when exporting from Final Cut Pro X. These times do not include AME’s startup time, but in fair comparison with Final Cut Pro X, it should be added.
Export to UltraHD ProRes 422: 7’34”
Export to H.264: 4’11”
Clearly there is some optimized code for the export to H.264 for Apple Devices. I also attribute the relatively slow encode to ProRes 422 to code that Adobe has little opportunity to optimize (or even move to the GPU).
What got interesting is when I disabled the second GPU for Premiere Pro and AME. There was little change to the export to UltraHD ProRes 422, confirming that the code is obviously not optimized for Adobe’s Mercury Engine (OpenCL) being used on the Mac Pro.
The export to H.264 for Apple devices, with only one GPU in use, took 13’38”, confirming without doubt that Adobe are a) doing a great implementation of OpenCL and b) definitely using the second GPU when they have the chance to optimize the code themselves.
For comparison, I did a similar export to 1080P MXF Opt1A DNX 170 1080P, which took 2’20” with one or two GPUs enabled. (Again likely code Adobe can’t optimize themselves.)
Final Cut Pro X
The Final Cut Pro X Project timeline was a few seconds longer than the equivalent in Premiere Pro. I started with an unrendered Timeline and background rendering off for the most direct comparison with Premiere Pro I could.
Final Cut Pro X to UltraHD ProRes 422 from Ultra HD timeline – 3’35”
Final Cut Pro X to HD H.264 for Apple Devices – 3’43”
The H.264 encode is only slightly faster than the same encode from Adobe and I would suggest that also confirms that Final Cut Pro X is taking advantage of the second GPU on that encode. What is interesting is that the ProRes 422 result also suggests some additional optimization has been done on the ProRes encoding in the Apple universe. That’s an advantage when you control your own codec I guess.
I next turned on background rendering and let it render the timeline while I did something else. This rendering would normally happen during idle time ready for export. In my experience I’ve never had to render for playback on the two relatively modern laptops I’ve used Final Cut Pro X on, but apparently there is some use for smoothing playback on less powerful systems.
Total render time for the timeline 2’11”. Doing the two export tests again from the rendered timeline:
Final Cut Pro X to UltraHD master file from Ultra HD timeline – 54″. So with background render and this export the total time was 3’05, which – surprisingly – is less than the direct export with rendering at the time of export.
Final Cut Pro X to HD H.264 for Apple Devices – 1’54” or with background rendering included 4’05”, but of course that’s not the way you’d do it. Background render happens during idle time, so that effectively a master file is ready for export when you go to export, something that differs from the way Adobe does it.
Bottom line: background rendering is your friend when it comes time to export from Final Cut Pro X, and it doesn’t matter which app you use, you’ll benefit from the second GPU where you have one (including non-Mac Pro dual GPU configurations).