Adobe Premiere Pro CS6 GPU AccelerationWritten on September 28, 2012 by Matt Bach
Edit 10/3/2013: Interested in how workstation cards perform in Premiere Pro CC? Check out our follow-up article: Adobe Premiere Pro CC Professional GPU Acceleration
With Premiere Pro CS6, Adobe utilizes the Mercury Playback Engine which uses the video card to vastly improve the performance of certain features. This is a great way to easily improve performance, but it adds more complexity to the question of "what hardware do I need" since until now the video card was not a major factor in the performance equation.
|Default config file showing which cards can utilize MPE GPU Acceleration|
Adobe has a list of video cards that are compatible with the Mercury Playback Engine (MPE), but - as is often the case with compatibility lists - it is at times slightly outdated as new products are continuously being released. In fact, the official list does not include any of the current generation NVIDIA 600-series cards at the moment, yet if you look in the actual configuration file the GeForce GTX 680 and GeForce GT 650M are both listed. One thing to note is that even if Premiere is not able to use the GPU for MPE acceleration, it can always utilize software-level support. This allows all the effects that require MPE to still function, but you will not receive any of the performance advantages present by using a compatible video card.
Warning: Many of the cards we test below are not on Adobe's official list of compatible cards. To use them will require that you manually edit your Premiere Pro CS6 configuration file. While we did not see any problems in our testing with these 'incompatible' cards, technically these are unsupported configurations and our expectation is that Adobe Support would treat them as such if you ever needed their help.
A very important fact about the Mercury Playback Engine is that it exclusively uses CUDA on the Windows OS, which is a NVIDIA proprietary technology. Adobe has been adding OpenCL (and thus AMD) support on Mac OS, but has not yet done so on Windows. So for now, NVIDIA cards are the only ones that can take advantage of the huge performance gains available by using GPU acceleration in Premiere.
In this article, we want to explore the performance differences between a wide range of different video cards. In order to do so, we will be using the not-yet finalized Premiere Pro Benchmark (PPBM6) for Adobe Premiere CS6. While this benchmark is not yet released, our testing showed that it is very good at accurately showing the differences between video cards. This is basically a beta of the PPBM6 benchmark, so our results may not line up 100% with the final version. For the purpose of showing the performance difference between our test cards, however, we found that it does a terrific job.
Since some of the cards that we are testing are not natively supported by the Mercury Playback Engine, we will be editing the configuration file to allow us to enable MPE GPU acceleration. Full instructions for doing so can be found here. After making the edit for the cards that needed it, we ensured that MPE GPU acceleration was enabled then followed the benchmarking instructions for the PPMB6 benchmark. Since the disk test will not utilize the GPU very much, we will only be reporting on the MPEG2-DVD, H.264 and MPE results. For more information on each section, we recommend reading the background information for PPBM6.
To make sure that the chipset and CPU did not affect our results, we used two separate testing platforms consisting of the following hardware:
|Motherboard:||Asus P8Z77-V Pro||Asus P9X79 Deluxe|
|CPU:||Intel Core i7 3770K 3.5GHz||Intel Core i7 3960X 3.3GHz|
|PSU:||Antec HCP-1000 1000W Power Supply|
|RAM:||4x Kingston HyperX DDR3-1600 4GB Low Voltage|
|Project Hard Drive:||Intel 520 180GB SATA 6Gb/s 2.5inch SSD|
|OS:||Windows 7 Ultimate 64-bit|
|Software Version:||Premiere CS6 6.0.2 64-bit|
To test a wide spectrum of GPUs, we tested the following cards (video driver version listed in parentheses):
|NVIDIA GeForce||NVIDIA Quadro|
|GTX 580 1.5GB (306.23)||Quadro 4000 2GB (305.93)|
|GTX 680 2GB (306.23)||Quadro 2000 1GB (305.93)|
|GTX 670 2GB (306.23)*|
|GTX 660 Ti 2GB (306.23)*|
|GTX 660 2GB (306.23)*|
|GTX 650 1GB (306.23)*|
|GT 610 (306.23)*|
*Required editing "cuda_supported_cards.txt" in order to enable MPE GPU acceleration
Totaling the time it took to complete the three sections of the benchmark gives us results that are strikingly similar to our Adobe Photoshop CS6 GPU Acceleration results. Namely that until you get to the GeForce GTX 650, the GTX line of cards all perform at nearly the same level. The GT 610 was at the bottom of our results by a pretty large margin, so we can say for sure that using a GTX 650/Quadro 2000 or above is certainly worth the monetary cost.
Sometimes these types of graphs can be hard to translate into real-world situations. To help with that, we also formatted the data in three other ways including the benchmark time compared to the fastest card and how many more/less minutes a one hour render/encode would take. To help give a sense of scale as to how much better using GPU acceleration is compared to using the CPUs only for rendering, we also included results with the MPE running in software mode (no GPU acceleration).
First of all, it is very, very clear that using a supported GPU makes a huge difference in terms of performance. While a GTX 650 1GB would add an extra 3.5 minutes to a one hour render/encode, and a GT 610 would add 40-60 minutes, using just software only would add roughly four additional hours. What this shows is that even if you are on the tightest budget, getting at least an NVIDIA GT 610 1GB is well worth the monetary cost.
If you would like to see the results for any individual test for either chipset, feel free to click on any of the thumbnails below. We left off the software only results since adding them would have completely removed any visual nuances between the results.
Geforce vs. Quadro
NVIDIA Quadro line may not be as fast as similarly priced GeForce cards, but what many do not realize is that Quadro cards are not primarily about speed. The main feature of Quadro is their double precision performance which allows the card to be many times more precise. As a roughly comparison, consider the difference you would get if you were to compute the area of a circle with pi being just 3.14 versus 3.14159. The difference is small, but it can easily compound over time. In addition, some of the higher end Quadro card (the 5000 and 6000) also use ECC memory for their video RAM which greatly increases reliability.
Most of the time, double precision computing is not really needed since there is nothing in the code that needs results that precise. So the question of GeForce vs. Quadro is really about whether or not the program is designed to need double precision from the GPU or not. In most situations, a GeForce card will likely work great for you. If you use some unusual GPU accelerated software that actually needs high double precision performance, however, you will definitely want a Quadro video card.
In the case of Premiere, it is really more about driver support than anything else. At the time of this article, Adobe has primarily certified only Quadro cards for GPU acceleration in Premiere. This may change in the future (and you can make GeForce cards work fairly easily), but for now if you want 100% support from Adobe for Premiere Pro CS6 you will want a Quadro card. If you are fine not being completely covered, however, a GeForce card is going to give you much more "bang for the buck".
If you decide that a GeForce card is suitable for your needs, the GeForce GTX 650 does a very reasonable job and is almost able to match the other GTX cards. Although if you did decide to go with a GTX 650, we would highly recommend using a 2GB version. For the best possible speeds, the GeForce GTX 660 Ti, GTX 670, GTX 680, and GTX 580 all have essentially identical performance, which makes the GTX 660 Ti a very strong candidate as it is much cheaper than the other cards. From a native support standpoint, the GTX 680 is a great choice simply because you do not need to manually edit any configuration files in order for MPE GPU acceleration to function.
The Quadro 4000 does very well, matching the speed of even the fastest GeForce GTX cards we tested. The Quadro 2000 has a bit of a performance drop, but considering that it is half the price of the Quadro 4000 does fairly well.
For example, one image size from a Canon T2i is 5184×3456. Doing the math, this requires 1,094MB, which just exceeds the 1GB available on the Quadro FX 3800, but is still within the 1.5GB of the Quadro FX 4800.