Adobe Creative Cloud

July 10, 2016 /After Effects /

After Effects CC 2015.3 In-Depth: GPU-Accelerated Effects

Earlier this summer, we released After Effects CC 2015.3 (13.8), which features a variety of performance and workflow enhancements.

In this article, we’re sharing more detail about how GPU-accelerated effects work, as well as other improvements made to effects.

Please, if you want to ask questions about these new and changed features, come on over to the After Effects user-to-user forum. That’s the best place for questions. Questions left in comments on a blog post are much harder to work with; the blog comment system just isn’t set up for conversations. If you’d like to submit feature requests or bug reports, you can do so here.

Effect rendering on the GPU

After Effects CC 2015 (13.8) can now accelerate rendering of certain effects using your computer’s GPU. This improves rendering performance for these effects by 2x-4x over rendering using only the CPU (depending on the frame being rendered and the speed of your GPU).

Effects that can render using the GPU are:

  • Gaussian Blur
  • Lumetri Color
  • Sharpen

In the Effects & Presets panel, these effects show an icon next to their name indicating that they can render using the GPU.

GPU effect rendering is controlled via a new option in the Project Settings dialog, Video Rendering and Effects. When set to Mercury Software Only, the CPU is used to render these effects. When set to Mercury GPU Acceleration, the GPU is used to render these effects.

On Mac OS, Mercury GPU Acceleration can use OpenCL or Metal. (Metal is available only on Mac OS X 10.11. This initial support for Metal support is not yet fully optimized.) On Windows, GPU effect rendering can use CUDA or OpenCL.

GPU-accelerated effects may render with small color precision differences in an 8-bpc project when compared to CPU-only rendering. Set the project to 16-bpc or 32-bpc for accurate results. (This only applies when comparing GPU rendering to CPU rendering. The algorithms used by the CPU vs. the GPU use different methods to round color values, which at 8-bpc can result in a slightly different rendered result; at 16-bpc or 32-bpc the additional precision makes the differences negligible.)

Enable GPU effect rendering via scripting

GPU effect rendering can be enabled and disabled via scripting. The new read/write attribute app.project.gpuAccelType will return or accept an enum named GpuAccelType with one of the following values:

value Project Settings result
GpuAccelType.CUDA

Mercury GPU Acceleration (CUDA)

GpuAccelType.METAL

Mercury GPU Acceleration (Metal)

GpuAccelType.OPENCL

Mercury GPU Acceleration (OpenCL)

GpuAccelType.SOFTWARE

Mercury Software Only

The following sample code alerts the value of current value of app.project.gpuAccelType, then sets app.project.gpuAccelType to Metal.

// access via scripting to Project Settings -> Video Rendering and Effects -> Use

var currentGPUSettings = app.project.gpuAccelType; // returns the current value
var type_str = "";

// check the current value and alert the user

switch(currentGPUSettings) {
    case GpuAccelType.CUDA:  type_str = "CUDA"; break;
    case GpuAccelType.METAL:    type_str = "Metal"; break;
    case GpuAccelType.OPENCL:       type_str = "OpenCL"; break;
    case GpuAccelType.SOFTWARE:     type_str = "Software"; break;
    default:    type_str = "UNKNOWN"; break;
    }

alert("Your current setting is " + type_str);

// set the value to Metal

app.project.gpuAccelType = GpuAccelType.METAL;

Lumetri Color effect improvements

The Lumetri Color effect can now be found in the Color Correction category in the Effects menu and the Effects & Presets Panel.

HSL Secondary controls have been added. These controls provide additional color tools to isolate a color or luma key and apply secondary color correction.

The looks in the Creative > Looks menu have been replaced with the SpeedLooks Studio Linear package from LookLabs, which is optimized for Rec. 709/DSLR footage.

The Lumetri Color effect can now render using your computer’s GPU (see “effect rendering on the GPU”, above).

Gaussian Blur effect improvements

The Gaussian Blur effect has been updated to a new version. The Repeat Edge Pixels option from the Fast Blur effect has been added, and the effect can now render using your computer’s GPU (see “effect rendering on the GPU”, above).

This version of Gaussian Blur is a new effect. It replaces both the previous Gaussian Blur (Legacy) effect and the Fast Blur effect, which have been moved to the Obsolete category. (The only difference between Gaussian Blur (Legacy) and Fast Blur was the Repeat Edge Pixels option.) There are differences in the rendered results, given the same blurriness value, between the new Gaussian Blur effect and the older Gaussian Blur (Legacy) and Fast Blur effects.

For scripting and expressions, the match name of the new Gaussian Blur effect is “ADBE Gaussian Blur 2”. Gaussian Blur (Legacy) retains its match name, “ADBE Gaussian Blur”.

Swap Colors button in Tint Effect

The Tint effect now has a Swap Colors button. When clicked, the color values of the Map Black To and Map White To parameters are swapped.

After Effects

Join the discussion

  • By User - 1:50 PM on July 11, 2016  

    Thank you! This is awesome.

  • By s - 11:33 PM on July 13, 2016  

    Thank you very much for the much needed clarification!

  • By Jeff - 9:17 PM on July 24, 2016  

    Metal is crashing my OS X 10.11.6 system using NVIDIA GeForce GTX 780 3072 MB and the latest drivers for CUDA and GPU from Nvidia… Removing the Metal folder from each application that uses it is the only band aid I could find, but this kind of system crash makes me nervous.