Locked

FAQ: Mercury Playback Engine, CUDA, OpenCL, Metal, and what it all means

Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Mercury Playback Engine ExplainedMercury Playback Engine ExplainedMercury Playback Engine is the given name for a group of improvments that is been built into Premiere Pro. See Adobe documentation on the topic here: Mercury Playback Engine (GPU Accelerated) renderer.

 

Those improvements includes: 

- 64-bit application

- multithreaded application

- processing of some things using CUDA
- processing of some things using OpenCL

- processing of some things using Metal

 

  • All versions of Premiere Pro (since CS5) have the first two of these: 64 bit and multi-threaded applicaton.
  • Since then, GPU Acceleration was added, enhancing Mercury Playback Engine performance.
    • CUDA support on Nvidia GPUs came first. Then, OpenCL and Metal processing for the Mercury Playback Engine came along. 
    • For current versions of Premiere Pro, you need at least 2 GB VRAM for HD. 4GB for 4K for the Mercury Playback Engine to function as specified.
    •  See System Requirments.

 

The official and up-to-date list of the cards that provide CUDA, OpenCL, and Metal processing features is here.

 

Here's a list of things that Premiere Pro can process with CUDA, OpenCL, and Metal:

- some effects

- scaling - (alternate link)

- deinterlacing

- blending modes

- color space conversions

 

  • One set of things that Premiere Pro's Mercury Playback Engine doesn't process: encoding and decoding. 

 

That said, two new options for GPU accelerated encoding have been added recently, both of which use different tech than the Mercury Playback Engine

  • GPU acceleration is available for decoding and encoding of H.264 and HEVC formats with certain Intel GPUs using Intel Quick Sync. Info here
  • GPU acceleration is also available for encoding of H.264 and HEVC formats regardless of CPU type. Info here.
  • The three technologies do work in concert, with default presets for hardware acceleration set accordingly.

 

  • Note that whether a frame can be processed by CUDA, OpenCL, or Metal depends on the size of the frame and the amount of VRAM on the graphics card. This article gives details about that.  Error Compiling Movie errors are often at the root this issue.

 

  • Processing with CUDA, OpenCL, or Metal doesn't just mean that things are faster. In some cases, it can actually mean that results are better, as with scaling. See this article for details.

 

  • If you don't have a supported GPU, you can still use Premiere Pro; you just won't get the advantages of processing with CUDA, OpenCL, or Metal.
    • For that, use Mercury Playback Engine Software Only mode. This mode is also useful as a troubleshooting tool to check any anomalies with effects or visuals. The drawback is that it is a lot slower than working with a supported GPU. 

An article on the Premiere Pro team blog based on the information and questions in this forum thread has been posted, please check that out.


Notes

  • The author of this post is no longer working at Adobe, so it needs to be updated by my team. The various Premiere Pro Team Blog links to this article still function as of June 2020, however, their removal is likely imminent. This info needs to be captured before its removal, as it contains critical information for editors. We ask for your patience as this gets fixed.
  • This article covers information about the Mercury Playback Engine GPU Acceleration. Please do not confuse this information with GPU accelerated exporting technology. More info on GPU accelerated exporting here.
  •  As of June 2020, on macOS, CUDA processing for the Mercury Playback Engine been deprecated for Premiere Pro. Use Metal now.

TOPICS
FAQ , Hardware or GPU

Views

242.6K

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
replies 163 Replies 163
LEGEND ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Kevin,

The 460 is a slimmed down version of the 470. It is not faster. The 470 is the faster of the two cards.

One can only guess at the reason Adobe left this easy 'hack' available for use by many.

One could argue that:

1. the limited list of supported cards makes the development time, manpower and support less costly for Adobe, and

2. the 'hacked' cards using non-supported cards will show if and where problems may be without any effort from Adobe, apart from reading the forums, and

3. the talk about the 'hack' improves the commercial potential of CS5 for Adobe without any effort.

All three points are distinct benefits for Adobe.

Do you seriously think that a potential buyer of CS5, who currently has a GTX-480, would consider downgrading to a GTX-470 when he can see that 60% of the top-20 performers in the PPBM5 Benchmark are using a 'hacked' version of the 480? He would keep his 480 and not hesitate to buy CS5. Adobe meanwhile does not have to give costly support, does not have to do extensive testing to certify the card and still sells a license, so everybody is happy.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

I see what you are saying but most people wouldn't know about the hack I only found out two days ago, infact I also only found out at the same time that if a card wasn't on the list mercury didn't work so I hacked my card and did the benchmark test 252 secs no too bad ?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Shame that this doesn't speed up rendering. That's the only bottleneck I have to deal with. 23.5 hour renders

making a 2 hr Blu-ray movie with unsharp mask and color correction filters. That ties

up a workstation for an entire day--if PPro doesn't crash on render--which it often does on long h.264 renders.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

I've been running Premiere Pro CS5.5 on my system for about a year.  Rendering was so slow that last week I bought an nVida GTX 580.  I upgraded my power supply to 650w.  I can now enable the MPE GPU Acceleration, but notice absolutely no difference in performance - all my timelines still have the red line, and applying effects (particularly colour correction) still takes hours.  I'm running with 8GB of RAM, so I have no idea why I'm still struggling at the same old speed as before.  Any help would be greatly appreciated.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Pictoprod,

If you're using Windows 7 and did not download the most current NVIDIA drivers, that may account for your lack of MPE acceleration.  Go into Project Settings and make sure that 'MPE Hardware acceleration' is turned on. 

The normal WHQL drivers with Windows 7 for the NVIDIA cards typically do not give you the CUDA acceleration you see.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Thanks for your help. I've gone into Project Settings and made sure

that the "Mercury Playback Engine GPU Acceleration" is on, but still no

change. And I followed the instructions which came with the card and

loaded the drivers from the accompanying CD. I wonder if my old onboard

graphics card might still be taking priority? Or perhaps there are

other elements of the system which are causing a bottleneck? It is

using an Intel Core i3 CPU - could that be the problem? I thought that

buying the 580 would allow me real-time rendering and better scrubbing.

I'm not too bothered about encoding quickly as I can leave it to do that

once I'm finished editing, but it's a real pain having to wait for ages

to see whether a colour correction has worked. I'm using two Sony

AX2000 cameras, so the native footage is AVCHD.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Grab the latest drivers from the NVIDIA site - that's usually best.

onboard system graphics - probably not, but you should check into it.  You probably have to go into Bios to determine that.

Your RAM is okay but not great.  Your CPU is okay, but not great.  AVCHD is a big codec to decode so the fact that those two elements are only okay, is telltale.

finally, the 580 will not enable better scrubbing - this is a CPU function and scrubbing AVCHD is tough even for a desktop system because of the temporal nature of the codec.  The GPU capabilities of MPE are strictly related to the effects you put on the clips.

If you can play AVCHD footage with no effects fine, then adding the 580 should allow you to play the same timeline with some effects.

Hope this helps,

Dennis

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Thank you for your help, I appreciate it. I'll download the latest

NVIDIA drivers and see if that makes a difference. I should probably

upgrade my CPU and my RAM too. Any suggestions?

At the moment I'm working on a a project which has no effects added -

only a couple of dissolves, and the line is still red until I render,

which takes quite a while.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

don't worry about the RED if it's playing.  The green/yellow/red lines are immaterial when you're editing.  The idea is as long as you can edit your footage, you're good.

As for an upgrade, there are too many choices to make a recommendation.  However, a fast i7 and lots of RAM + your 580 will be a great system.  Beyond that, it's up to you.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Thank you, you've been very helpful.

Shaun

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 07, 2012 May 07, 2012

Copy link to clipboard

Copied

Hi, one final question. My i3 processor says it is 3.5ghz. If I buy an

i7 at 3.5ghz will it make any difference? I'm already over budget

trying to speed Premiere up and don't want to waste any money

unnecessarily. I've just ordered four 4gb ram modules so that should

double my memory.

Many thanks.

Shaun

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 11, 2015 Jun 11, 2015

Copy link to clipboard

Copied

Dear Todd,

How do I select Mercury Playback engine instead of Software? I've seen the pulldown menu before but now I can't seem to find it.

Thank you,

Patrice Shannon

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Jun 11, 2015 Jun 11, 2015

Copy link to clipboard

Copied

If I remember correctly it is in the Project settings under the file menu

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

------------

a lot of  people think that 'Mercury' just refers to CUDA processing.  This is  wrong. To see that this was not the original intent, you need  look no  further than the project settings UI strings 'Mercury Playback  Engine  GPU Acceleration' and 'Mercury Playback Engine Software Only',  which  would make no sense if 'Mercury' meant "hardware" (i.e., CUDA).

--------------

so with the mercury playback software only there are still significant improvements in processing or functionality of PP but with CUDA there is even MORE speed due to using the hardware ( gpu and cuda  ? )

how much of the gpu does the software ONLY use ??  in comparison to the gpu using the vram to take stress off the cpu processing ?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

> how much of the gpu does the software ONLY use ?

None. That's the point. The term 'software' in this context refers to CPU-only processing.

CUDA is a technology (architecture, programming language, etc.) for a certain kind of GPU processing.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

None. That's the point. The term 'software' in this context refers to CPU-only processing.

Well, this begs the question, then: why market and then include in the software the confusing phrase "Mercury Playback Engine?" I mean, I understand the desire for catchy slogans and stuff that can adorn ad slicks, but if you have access to the Mercury Playback Engine regardless of having an approved GPU or not, why bother? It seems it would be easier and more logical to simply say, "Premiere Pro CS5 is fast. Add a certain graphics card, and it will be even faster."

Endusers ultimately don't care about the names of underlying proprietary technologies. Sure, we all love to boast about a certain brand or another that we purchase or use, but "Mercury Playback Engine" isn't a brand. Tell them what they can do to squeeze more performance out of the software, and leave it at that. If Adobe wants to sell more copies of Premiere Pro, simply stop referring to MPE at all, and say, "Right out of the box, you have X; add a specific GPU and you have X+10."

PS: Todd, you should probably refer to the Mercury Playback Engine correctly, and not just Mercury... or Dennis will send you a nasty note

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

> Well, this begs the question, then: why market and then include in the software the confusing phrase "Mercury Playback Engine?"

That's a fine question for someone other than me. As you can probably guess, I wasn't one of the folks excited about giving a squishy and intrinsically confusing name to a set of loosely clustered features.

>  It seems it would be easier and more logical to simply say, "Premiere Pro CS5 is fast. Add a certain graphics card, and it will be even faster."

Hey! You've been reading my email to the marketing department!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

> one more question, with regard to Open GL

OpenGL is a different technology that is implemented through GPUs. It is not exclusive of CUDA; it's a different thing altogether, and a card that uses CUDA will also use OpenGL for some things. OpenGL is used to do such things as render 3D and accelerate drawing of items to the screen. After Effects uses it some. Premiere Pro, not so much. Even on After Effects, it's only really useful for rough preview renders; it's not appropriate for final renders or high-fidelity previews.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

thanks Todd, thats pretty much what I figured... mostly for gaming and for some 3d rendering ....( to screen )

in defense of the forces that be, the marketing and the "basics" of presenting cs5 to the world, I have to say its awfully complicated by nature and is sorta not geared toward a "casual user " of computers to do this kind of work ( editing , SFX , etc )

So "squishy" and so on is probably part of the translation from programmer ( who already knows whats up ) to " writer " who has less of a clear idea of whats up unless someone tells him.  And I wonder how many copy writers get their arms twisted to just " keep it simple " ...for the sake of getting the product delivered.  Can't blame it on some conspiracy theory or something in this case. I don't have cs5 but I haven't been misled about whats up with this stuff....  I kinda GET IT, from the experience I have and knowing the hardware applications from the past.  When you throw in CPU's with "new graphics abilities " like the recent news ...I just go back to thinking how commadore and atari dealt with "player missle" stuff.... somehow I doubt its gonna matter to my editing.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jan 16, 2011 Jan 16, 2011

Copy link to clipboard

Copied

Even on After Effects, it's only really useful for rough preview renders; it's not appropriate for final renders or high-fidelity previews.

That is incorrect. OpenGL is only used on preview for "historic" effects, effects where CPU versions existed and were in use. This gaurantees consistency in final render from version to version. One some new filters, such as Cartoon, GPU is also used for final render (depending on the system configuration), because the performance is so much better (and the quality is comparable, but not pixel-for-pixel across machines like CPU).

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Jan 16, 2011 Jan 16, 2011

Copy link to clipboard

Copied

Kevin, the Cartoon effect is one of very few built-in effects that uses the system that you refer to in After Effects. And whether or not that effect uses the GPU is not determined by the Use OpenGL Renderer setting for final renders or the Enable OpenGL preference in the Previews category. Whether Cartoon uses the GPU is determined by the Performance setting in the Cartoon effect itself.

My point was that people in general should not  use the Use OpenGL Renderer setting for final renders or the Enable OpenGL preference in the Previews category if they care about the appearance of the images. There are so many things that are not supported by the OpenGL renderer that people who turn it on almost universally complain of poor results.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Endusers ultimately don't care about the names of underlying proprietary technologies.

What's this?  Colin and I agreeing on this issue?  (Now where did I put that calendar...)

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Regardless of the hype created about the name and what it implies, the MPE or "Fast CS5" has taken me away from FCP.

Anyone who spends countless hours every day pushing a mouse around, should, in a professional sense, always be seeking a faster cost effective alternative to their workflow. CS5 does that.

I don't care what it's called

So thumbs up Adobe!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Feb 13, 2011 Feb 13, 2011

Copy link to clipboard

Copied

Colin Brougham wrote:

PS: Todd, you should probably refer to the Mercury Playback Engine correctly, and not just Mercury... or Dennis will send you a nasty note

Seeing as neither Todd nor I are in marketing, I think he's safe from a nasty note from me.  Besides he helps me out too much for me to get on his bad side anyway!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 04, 2011 Jan 04, 2011

Copy link to clipboard

Copied

Software MPE does not use the GPU/CUDA. Only hardware MPE uses the GPU/CUDA and that of course depends on your timeline. Supported effects, transitions, scaling and blending used. In some cases it can use more than 50% of the GPU processing power, in other cases only 10%. To complicate this even further, look at the explanation on the Background page of the PPBM5 Benchmark

On this benchmark test the average speed increase of hardware MPE over software MPE is around 10 x, depending on a number of other factors, like video card, CPU, memory, clock speed etc. So, for example the test takes 10 seconds with hardware MPE and 100 seconds with software MPE.

One very important thing to take into consideration is that hardware MPE is not only about speed, but also about quality. Hardware MPE uses maximum quality all the time, if one uses software MPE and set MRQ on, the quality will be comparable to hardware MPE, but the render times may differ by a factor 30 - 50.

Sidebar: If the video card/VRAM is completely used, hardware MPE reverts to software MPE automatically and lost is the maximum quality. Just to be aware of.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines