Brief Explanation of How Graphics Cards Increase Productivity For Photographers
Without a doubt, one of the most-asked questions for a photographer is “How can I make Lightroom faster?”. It seems like every week someone has the answer either by increasing your ram, upgrading to an SSD, or increasing your cache size. What is usually not discussed is how your video card can affect the performance of Photoshop and Lightroom.
Starting with Adobe Photoshop CS6, Adobe introduced the Mercury Graphics Engine (MGE) that uses your video card’s GPU to improve Photoshop’s performance. This Mercury Graphics Engine provides near-instant results when working with certain key tools, such as Lighting Effects and Liquify. The best thing about the Mercury Graphics Engine is, it uses both cross-platform compatible OpenGL, and OpenCL for GPU acceleration.
What is OpenCL?
Backpedaling a bit, the CPU in your computer can contain anywhere from 2-4 cores. Each one of these core performs a specific task at a time; the more core, the more task that can be completed. GPUs are specialized processors that address the demands of real-time high-resolution graphical tasks. They have evolved into multi-core behemoths, each with there own sub-cores that are very efficient at manipulating large blocks of data.
What is OpenGL?
In contrast, OpenGL is a graphical API that allows you to send rendering commands to the GPU. Typically, the goal is to show the rendering on screen. What OpenCL and OpenGL allow you to DO IS tap into those cores to help speed up certain tools in Photoshop, and the Develop module in Lightroom, among other things.
There are no hacks or mods to get your video card to work with Lightroom or Photoshop. If you have a modern graphics card (anything after 2010) chances are it supports GPU acceleration, with some exceptions. Photo editing software that utilizes OpenCL and OpenGL can run on Intel, AMD, Nvidia or an other capable device.
AMD leads the pack in OpenCL performance among its competitors. Apple’s pro line of apps like Final Cut Pro only support OpenCL, hence the inclusion of AMD Radeon R9 cards in their Macbook Pro line and AMD Fire Pro in the Mac Pro.
It seems Apple has an arm’s length relationship with Nvidia having only included their graphics cards in a handful of computers over the years. Nvidia favors their CUDA structure over the Apple made OpenCL.
What is CUDA?
Photo editing programs like Photoshop or Lightroom benefit from OpenGL acceleration to help increase the speed of developing your images. When editing video however, CUDA is king.
CUDA is a framework that is developed by Nvidia to run specifically on their products. It behaves similar to OpenCL in that it utilizes multiple graphics cores to help expedite specific tasks, just better. Nvidia works with vendors like Adobe to help get the most out of CUDA cores. Programs like Premiere Pro and Avid Media Composer render video faster than with an OpenCL/AMD counterpart.
Tapping into your graphics processor can greatly increase productivity in both photo and video workflow alike. With the advent of Apple’s Metal API and Vulkan, which functions like OpenCL and OpenGL with less overhead, graphic manufacturers are supporting more standards. Media producers may find an increase in performance in the lowest spec-ed computers, and then computers like the Mac Pro will become more of a niche product.