Hey welcome to another Flarecorp Media Tech Video.
20 months ago now I did a video on Adobe Premiere Pro and should you use OpenCL or Metal when
rendering on a Mac.
And that was like, I think, the second video, second or third video I ever did and it turned
into one of my most popular videos.
I made it because I couldn't find the answer anywhere out there on the internet and apparently
a lot of you haven't either.
So, thank you very much for watching.
A lot of you have asked for an updated video and 20 months later I've finally decided to
give you that.
I don't know if I needed to just wait until my beard grew back out and got all the big
hair again or what, but we're going to answer those questions with some updated hardware
and with some of the same hardware we used last time to see just if Apple and Adobe have
done anything over the last 20 months.
I have here the 2018 MacBook Pro with the i7 hexa core 2.2 gigahertz processor.
Now that is the lowest end processor, but I figured since we're running the GPU really
hard and this thing turbos up it would get us close to where the other ones would be
thermal throttling anyway, the other i7 with the slightly higher and the i9 which appears
to not be able to turbo very much at all.
So I'm not concerned about the CPU on this, but then this does have the 32 gigabytes of
DDR4 RAM and then the highest end, that you can put in here, a Radeon Pro 560X.
So we're going to get all the bang and then the CPU is there, but like I said, that shouldn't
be an issue.
So I think this is going to give us a really good benchmark on if OpenCL or Metal is the
best option as of September 2018 on High Sierra.
Alright, a day later and I have some results for you.
If you want the short quick answer without the fluff, no, you should still not use Metal.
Based on all my tests, it either performed exactly the same or worse than the OpenCL.
So if that's all you're looking for, thanks for watching, but if you want to see the actual
stats, look at the different tests I ran, stick around and we'll go over those real
fast.
So instead of spending time making bar charts that are hard to read and everything, I figured
we could just look right at the raw data.
There's no sense making a mountain out of a molehill, right?
So let's take a look here.
Get me out of the way.
So I started with my 5 minute test that I used last time.
It's 5 minutes.
It's 5 different videos.
All of them are different codeces.
Various ones, you know, MP4, MOVs, um, stuff like that.
None of the crazy fancy stuff.
Stuff you might find on lower end models of cameras.
So that, and then ran all 5 of those at the same time and then did some GPU accelerated
effects on all of those, warp stabilizer, color correction, those type of things.
Did some that were not GPU accelerated and reversed one to make it run backwards.
Just stuff to give it a random mixed load to see how things handle.
And then I exported it using the preset 1080p for YouTube.
So I ran that on the MacBook Pro that I just showed you and on the iMac that I used in
2016 and a quick refresher on those specs was, that was a 4.0 gigahertz i7 6700k turboed
up to 4.2, uh, 32 gigabytes of DDR3 RAM, the Radeon R9M395X and then that had 4 gigabytes
of vRAM on it.
In 2016, that test exporting took, using OpenCL, 1 hour and 13 minutes.
On Metal it was 1 hour and 38 minutes.
And then software only, it was surprisingly 1 hour and 36 minutes.
So Metal in 2016 took longer than just software rendering which blew my mind.
So, did they improve that.
Well, looking right here, at least Metal is now faster than than software rendering.
However, OpenCL is still faster.
If we look at the MacBook Pro, uh, 1 hour and 13 minutes.
1 hour and 44 minutes and software was 1 hour and 18 minutes.
So there again, on the brand new hardware, Metal was way slower and I did the same tests,
controlled everything, made sure it had time to cool down, all that stuff.
I don't know.
*laughing* So, I got to thinking, maybe it's just that preset or maybe it's the video I
used, something about it so I ran a number of tests that you can see here.
I tried, because I didn't want to take an hour to run these tests, I cut it down to
30 seconds.
It's still the same footage, all the same presets.
I thought, well maybe Metal is better at 4k.
So if we look at the YouTube 4k export preset, OpenCL and Metal are almost the same on both
of these and then down here software did take longer.
What that tells me is that the CPU is now the bottleneck.
The GPU, despite OpenCL or Metal, is getting its work done quick enough that it's just
waiting on the processor.
So, in that case, there's really no benefit one or the other.
So then I'm like, well, let's try some 8k RED Raw footage.
I don't have an 8K camera.
I don't plan on having one for many years, but maybe Metal works on that.
So I grabbed some 8k footage.
It's just the samples you can download.
Again, I threw on, this one was slightly different.
I just threw on pure GPU accelerated effects.
I did one where you reverse the color around, um, warp stabilizer, that's a biggie.
That one takes a long time, but it's GPU accelerated.
Um, color correction, edge finding.
So then I exported that using the 4k preset and again, no difference at all between OpenCL
and Metal with the CPU just being the bottleneck.
So, just for fun I took that same sample and exported it to 1080p because that on the earlier
tests was able to see some differences.
Nope, no difference at all.
These ones were exactly the same.
So again, CPU bottleneck.
It didn't matter.
So finally as I was about ready to come and talk to you guys, I was like, well, brand
new computer, maybe h.265, the new codec, maybe Metal works for that!
So I took my original footage, the 30 seconds, cut it down, ran it through an h.265 export
and yep, didn't even make it to the software rendering.
6 minutes 45 seconds to export to 1080p h.265.
That is a more complicated codec, but the compression and quality is worth it, but it
does take longer to render, but Metal just got blown out of the water by almost 4 minutes.
Well, update complete.
As of September 2018, using Adobe Premiere Creative Cloud version 12.1.2 on MacOS High
Sierra 10.13.6, there's no reason at all to use Metal for the rendering encoding settings.
You're either going to get the same performance, where the CPU is the bottleneck or you're
going to get much worse performance.
So stick with the OpenCL.
If you'd like me to test MacOS Mojave when it comes out, let me know in the comments
below.
It comes out in just a couple of weeks.
They are technically deprecating OpenCL, however, I believe nothing should really change.
It's a soft deprecation so everything should still continue to work.
It's just in the documentation, everything says don't use this, use Metal.
So, but maybe, because it's Mojave and they're pushing Metal, maybe they've done some optimizations
to Metal or maybe Adobe will get on board now that they need to get away from OpenCL
and they'll start putting more effort towards Metal.
So let me know if that's something you'd be interested in or if I've missed anything or
there's something else you'd like me to test.
Anyway, thanks a ton for all of you guys watching last time and for watching this video and
thanks for all the thumbs up last time.
It was great to see all the constructive comments you guys were leaving.
It was really enjoyable to have some feedback with you guys.
If you'd like to continue seeing these type of videos or the other videos I do, I do a
wide variety of things that should, um, be enjoyable for a number of people, go ahead
and subscribe and until next time, I'm doing what I love, keep doing what you love.
Thanks for watching.