If geeks love it, we’re on it

Adobe Creative Suite 5.5 and the new world of GPU accelerated content apps

Adobe Creative Suite 5.5 and the new world of GPU accelerated content apps

Adobe Creative Suite CS 5.5 review

Para la versión en Español de este artículo, haga clic aquí.

The world of productivity and content creation software has been relatively easy to understand since the 1980s when it was essentially invented. Every once in a while, you get a new version of the program you use, and if you want it to work faster, you upgrade your computer’s CPU or RAM. It has remained unchanged since the beginning. Over the years, faster processors, faster hard drives, more RAM, and upgraded versions of various programs have become available, and everything just keeps getting faster.

Adobe Creative Suite became the de facto standard for content creation professionals in the mass market in the early 21st century, and a vast majority of the digital content you see today—from websites, to books and magazines, to video games and even AAA-budget Hollywood movies, has probably been touched by an Adobe product somewhere along the way.

Over the last few years, however, computer processing power stagnated. Starting around 2005, the speed of  raw processing power didn’t really affect actual in-program usage anymore. Photoshop, Illustrator, and Indesign still ran about the same whether it was on a Pentium 4, Core Duo, AMD Athlon X2, or a PowerPC G5. The only program that really pushed the CPU were the video editing and effects programs Premiere and After Effects. For those who used Photoshop, Illustrator, and Indesign, there wasn’t really a whole lot of benefit to upgrading to new versions of CS and better computer hardware, since the 32-bit limits on things were an insurmountable roadblock to major performance gains.

When hardware manufacturers started to dedicate themselves to a 64-bit world, Adobe finally dipped their toes into the ocean of “big” processing with Creative Suite 4. In addition to 64-bit binaries and 64-bit optimized versions of some of their apps (on the Windows side, at least), they—with little fanfare—also began supporting limited GPU acceleration in Premiere and Photoshop.

In 2008, GPU acceleration was barely talked about. There weren’t any real-world use cases for it; however, the two major players (AMD and NVIDIA) knew that they were building what were essentially highly parallel, highly scalable supercomputers at the mass-market level. At trade shows like SIGGRAPH they began to make the case for General Purpose GPU (GPGPU) software development. “We have these amazingly powerful processors in lots of computers, and people are only playing games with them. Accelerate your apps!” As Bobby Miller said in his article “A case for GPU computing“:

At the 2007 ACM SIGGRAPH conference in San Diego, GPGPU was hardly even mentioned. It was barely on the radar. At the 2008 conference in Los Angeles, AMD and NVIDIA were both talking about it, and there were a few presentations covering the subject. At the 2009 conference in New Orleans however, GPGPU was everywhere you looked. Hardware was being shown that offered a complete computing experience operating on just a GPU. There were talks, papers, and demonstrations on GPU computing. It was glaringly obvious—GPGPU is going to play a huge focus of future computing systems.

Well, that future is now; at least in Adobe’s case. Adobe Creative Suite 5 was fully on board with OpenGL and CUDA acceleration (CUDA is NVIDIA’s GPU compute API). In addition to today’s standards of quad-core CPUs, 64-bit operating systems, and large amounts of RAM (not to mention light-year leaps and bounds in storage speeds with SSDs), Adobe has offloaded what they could to the GPUs that are found in many of today’s workstations and even standard off-the-shelf consumer level PCs and Macs.

While OpenGL acceleration is available in many of the Adobe Creative Suite apps (to help speeding up screen rendering, interface performance, and certain 3D effects), the real killer app is the Mercury Playback Engine in Adobe Premier Pro. In December of 2010 we tested MPE with an NVIDIA Quadro 5000 and the video rendering results with MPE enabled were stupendous. An 82% decrease in rendering time for an HD video is something to stand up and take notice of. Currently, MPE only runs on CUDA; put another way, it’s only going to work on certain NVIDIA GPUs. Until Adobe releases MPE for OpenCL (presumably in Adobe Creative Suite 6), AMD GPUs are not able to use MPE.

Now, we’re going to look at how GPU acceleration has improved between CS5 and the current CS 5.5.

CS 5.5’s improvements over CS 5

First, the basics: We’re talking specifically about Premiere Pro and Mercury Playback Engine here, since all other Creative Suite apps support GPU acceleration through OpenGL.

Adobe has added a few new GPU-accelerated effects in CS 5.5. From Adobe’s website:

We have a few more effects and transitions that are accelerated by CUDA:

  • Film Dissolve
  • Additive Dissolve
  • Invert
  • Directional Blur
  • Fast Blur

The Film Dissolve transition is new in Premiere Pro CS5.5. It’s a dissolve transition that blends in a linear color space (gamma = 1.0). In simple terms, that means that it blends in a more realistic way; basically, dissolves look the way that they should. That’s not a CUDA-specific thing; I just thought that I’d call it out since this is the first time that I’ve had a chance to describe the effect.

These are just additional effects (besides Film Dissolve which is brand new) that are made faster by CUDA acceleration. In addition, acceleration of media preparation when working with mismatched media (such as frame rate, pixel aspect ratio and field order differences) is new in CS 5.5. Speed changes are now accelerated as well (AKA time remapping, or fast- and slow-mo) and GPU-assisted interpretation of footage including frame rate, pixel aspect ratio, field order, pulldown removal, ignore alpha, and invert alpha channel effects.

Next, the list of supported GPUs has grown considerably since CS 5. The list now includes high-end workstation GPUs such as the Quadro 6000 and mobile GPUs such as the Quadro 5000M (which was shown to great effect in our HP EliteBook 8740W mobile workstation mega-review).

Another improvement from CS 5 will be very important to a very specific set of people: 30-bit color is now supported in Premiere Pro CS 5.5. Of course, a 30-bit monitor and a GPU with 30-bit color support are required as well, but this is the third and final piece for an end-to-end 30-bit color workflow. Here is an example of the difference between 24-bit and 30-bit color:

24-bit color banding on Adobe Premiere Pro

In a 24-bit color workflow you can see significant gradient banding

Here we see a standard 24-bit color workflow. Note the banding in the gradient test file.

On a 30-bit color workflow, however:

30-bit color workflow on Adobe Premiere Pro 5.5

Smooth like buttah

Clearly, you’re a video pro if you’re worried about 30-bit color support (the displays, ahem… aren’t cheap), but the fact that it’s there is quite important to those who are.

Mercury Playback Engine redux

We’ve already extensively visited Mercury Playback Engine, and have run our own independent tests with our own content in real-world use cases, so there’s no need to reiterate that. Take a look at these two articles for our own testing on MPE performance:

NVIDIA provided some of their own tests for this review: Obviously these are from the vendor, so that may introduce some bias, but these results are consistent with the tests we’ve run in house (as evidenced above). The eDream test project contains six layers of video arranged as a video composite. The source footage is from the Open Source movie project Elephant’s Dream. Footage was converted to AVCIntra P2 Movie format. Each video layer is color corrected to create a new mood for the final output. The audio was stripped out to simplify the project files. This test showed real-time playback in Premiere Pro Cs 5.5 with layers and effects:

NVIDIA playback times with Mercury Playback Engine acceleration

Frame rate for real-time playing of full layered 1080P video stream in Premiere Pro CS 5.5

The next test was encoding the eDream file into MPEG-2 Blu-ray video standard. As you can see, export time is majorly impacted by MPE:

eDream export to Blu-ray time in MPE-enabled CS 5.5

The eDream file exported to Blu-ray, in seconds.

As you can see, and as we’ve shown before in our own test results, export times are significantly decreased by MPE.

The case for upgrading

The case for upgrading from CS 5 to CS 5.5 is a controversial one. Many people within the Adobe user community are angry by the short development cycle between major Adobe product releases. The standard “But I JUST spent $x on CS 5 and now you want me to upgrade!” is a fair argument; at the same time, Adobe does indeed add significant new features to every product release. Whether or not those specific improvements are important to you is really going to be the deciding factor.

For most people, CS 5 is an excellent, current, and feature-rich version of Creative Suite. The massive improvements over CS 4 in both performance and stability, as well as support for modern versions of Windows and Mac OS, make CS 5 what I would consider the “baseline” version of CS. CS 5.5 does offer even more support for modern hardware and more features, but again; their importance is probably limited to specific use cases.

Creative Suite 5.5 is going to be most important for those that want to create content for mobile devices; many of the new features over CS 5 are focused specifically on mobile content creation.

Adobe’s new “rental” model that was introduced with CS 5.5 is a game-changer, and may be the perfect solution in certain situations. If you didn’t think you could afford to jump in to Creative Suite before, this may be the chance.

The biggest disappointment with CS 5.5 is that OpenCL is not yet supported. OpenCL is the non-proprietary API for GPU compute that can work on ANY GPU that chooses to support it (notably AMD FirePro and Radeon cards). When MPE is fully ported to OpenCL, the field of compatible GPUs will widen considerably. Again, OpenCL will very likely be available in Adobe CS 6 (which remains unannounced). There are probably many of you out there that are patiently waiting for their AMD FirePro or Radeon cards to be supported by Mercury Playback Engine, and for you, I would definitely recommend waiting for news of Creative Suite 6.

For now, if you’re an NVIDIA user, by all means Creative Suite 5.5 is the best version of Creative Suite yet. The performance enhancements and new filters and effects that are possible with CUDA acceleration are truly remarkable.

 

Disclosure: Adobe provided a copy of Creative Suite CS 5.5 Master Collection to make this article possible.

Comments

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!