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

by Tim Kurkoski

posted on 07-10-2016

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:

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.

Lumetri Color effect improvements

// 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;

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.

Topics: Video & Audio

Products: After Effects