Then And Now: Adobe Photoshop And WinZip
If you're interested in how some ISVs have exposed support for graphics-oriented APIs in their productivity software, check out Can OpenGL and OpenCL Overhaul Your Photo Editing Experience?, which digs into the details. Today's story is geared towards mainstream users and is primarily based on our standard benchmark suite. Over the course of the last year, a handful of our go-to tests were updated to exploit hardware able to leverage OpenGL and OpenCL support. Photoshop and WinZip are two of them.
Adobe Photoshop CS6
Adobe's Photoshop is one of the most highly-regarded image editing apps. The latest version, part of Creative Suite 6 (CS6), now supports GPU acceleration through its Mercury Graphics Engine (MGE). However, the implementation is limited to a few new filters and features. Adobe realized this through OpenGL and OpenCL, making a comparison to older versions of the software impossible. It also means that any OpenCL/OpenGL-capable hardware will give you access to acceleration.
The supported functions are indeed pretty useful, and utilizing them simply requires a driver update. This is a short list of the accelerated filters:
- Adaptive wide angle
- Oil paint
- Wart, puppet warp
- Field blur, iris blur, tilt/shift
- Lighting effects gallery
- New 3D enhancements
Most of the features require Windows Vista or Windows 7, and at least 512 MB of graphics memory may be required, too. This isn't Adobe's first effort to accelerate certain operations within Photoshop. Check out this Adobe forum thread for more details. The thread also provides troubleshooting information.
An overhaul of Corel's most recent version finally takes better advantage of threading, whereas old builds were fairly poorly threaded. For the first time in a long time, it makes a lot of sense to upgrade if you're a loyal WinZip user (at least from a performance perspective).
This latest version also employs OpenCL support on certain AMD-based graphics engines. This doesn't mean CPU performance gets deemphasized, though. In AMD Radeon HD 7970 GHz Edition Review: Give Me Back That Crown!, we dug deeper into WinZip's behavior, discovering that switching on OpenCL put more stress on the CPU, but barely touched the graphics resources. We asked Corel for an explanation, and received the following:
"Our algorithm dynamically uses OpenCL acceleration on files that will benefit from it, continuing to use the CPU cores for files that are processed faster on the CPU. GPU acceleration leverages the CPU to prepare files for compression. Operating in parallel, our GPU acceleration will enable the CPU to process files much faster (as the GPU completes compression and encryption tasks that the CPU starts), and so it is normal to see an increase in both CPU and GPU utilization when OpenCL is enabled. Depending on the file set you are using for your tests you’ll see varying degrees of GPU acceleration."
Our workload is actually a mix of large and small files, though it's possible that we'd see more speed-up, as a percentage, on lower-end CPUs, rather than the Sandy Bridge-E-based chips that are already overkill for such a task. The bottom line is that enabling OpenCL has a profound impact on speed.
Similarly, the Pentium enjoys a boost. Its two cores don't scale quite as well, though. And because Corel has yet to enable OpenCL support for Intel-based platforms in WinZip, its improvement isn't as pronounced.