OpenGL, the GPU, and After Effects
OpenGL is a set of standards for high-performance processing of 2D and 3D graphics on the graphics processing unit (GPU) for a wide variety of applications. OpenGL provides fast rendering for previews (Fast Draft mode). After Effects also provides acceleration to display certain interface elements, and for ray-traced 3D rendering. Unlike previous versions of After Effects, the GPU plays a major role.
OpenGL accelerates workflow by offering a faster graphics pipeline. One process that was slower in previous versions of After Effects was transferring pixels to the screen in a process called block transfer, or "blitting." The GPU now handles this functionality (in a process referred to as OpenGL Swap Buffer) much more efficiently. For system requirements for OpenGL Swap Buffer, see Features Support Levels. For more information, see the following video.
Video: System requirements for GPU acceleration (OpenGL, CUDA)
In this video by Todd Kopriva and video2brain, learn about the hardware and software requirements for various features that use the GPU.
Setting preferences for OpenGL and the GPU
OpenGL supports the drawing of interface items, such as, composition, footage, and layer panels. Other drawing functions like grids, guides, rulers, and bounding boxes are now operated by OpenGL, as well. This feature is also known as the "Hardware BlitPipe."
To enable OpenGL support for drawing interface items, click the Hardware Accelerate Composition, Layer, and Footage Panels checkbox in Edit > Preferences > Display (Windows), or After Effects > Preferences > Display (Mac OS).
You can access information about the GPU, and OpenGL in the GPU Information dialog box. Choose Edit > Preferences > Previews (Windows), or After Effects > Preferences > Previews (Mac OS), you have access to the GPU Information dialog box. Click the GPU Information button to launch the GPU information dialog box. In this dialog box, see information about the OpenGL capabilities for your installed GPU. The information helps you determine the feature support levels for your GPU. You can also see if CUDA is available on your GPU, and which version that is installed.
The OpenGL-related checkboxes are now removed from Preferences > Previews as the previous OpenGL renderer has been removed.
Fast Draft mode has replaced the original OpenGL renderer. To enable Fast Draft, click the Fast Previews button on the Composition panel, and choose Fast Draft. Fast Draft causes slight appearance differences in the Composition panel, best suited for quick previewing. Fast Draft is useful for setting up, and previewing a composition for later rendering in ray-traced 3D.
If your GPU is not supported or you have an old driver, ray-traced 3D compositions render on the CPU using all physical cores. If you have a GPU-supported configuration in a headless environment (for example, a render farm), you can force ray-traced 3D compositions to render on the CPU by setting the Ray-tracing option in the GPU Information dialog box. Renders done on the CPU match renders done on the GPU.
The OpenGL Info button is now called the GPU Information button.
Hardware considerations for OpenGL, the GPU, and After Effects
When working with ray-traced 3D compositions, it is important to have the proper hardware installed in your computer to work smoothly. An NVIDIA video display card that has on-board CUDA technology is required for working with ray-traced 3D compositions with GPU acceleration.
The following GPU and OpenGL-based features in After Effects require that features be categorized based on the capabilities of your GPU:
- Ray-traced 3D renderer
- Rendering on the GPU
- Fast Draft previews mode
- Faster blitting to the screen (OpenGL SwapBuffer)
- Cartoon effect's "Use OpenGL When Available"
- Hardware Accelerate Composition, Layer, and Footage Panels" preference
Video: Optimizing for high performance
In this video, Brian Maffitt of Total Training shows how to optimize your computer to work with ray-traced 3D compositions.
There are three tiers or levels, from lowest to highest requirements, of support:
Level 1: For OpenGL SwapBuffer:
This level simply requires a GPU that can do OpenGL 1.5, or greater, with Shader Model 3.0, or greater. Most ATI and NVIDIA cards, and the Intel HD Graphics 3000 chipset (available in the MacBook Air, Mac Mini, various Windows machines, etc.) and 4000 (Windows only at this time) are supported. If your GPU does not support these requirements, software OS blitting like CS5.5 occurs, and there are improvements for software blitting in After Effects, as well.
Level 2: For Fast Draft previews, Hardware BlitPipe, and Cartoon GPU acceleration:
Includes Level 1 features. This level requires OpenGL 2.0, or greater (with Shader Model 4.0, or greater, on Windows), and 256 MB, or greater, of texture memory. Most ATI and NVIDIA cards released in the past five years, plus the Intel HD Graphics 3000/4000, support this level.
If your GPU does not support these requirements, these features will be disabled:
- Fast Draft mode
- The "Hardware Accelerate Composition, Layer, and Footage Panels" preference.
- The Cartoon effect's "Use OpenGL When Available" option (the Cartoon effect then runs on the CPU).
Level 3: For Ray-traced 3D rendering on the GPU:
Includes Level 1 & 2 features (for machines with attached monitors). This level requires a supported NVIDIA GPU and 512 MB, or greater, of texture memory. For a current list of supported GPUs, see the Adobe website.
Before working with After Effects and CUDA features, install the latest video driver for your NVIDIA GPU:
Windows: Install the latest WHQL-certified driver for your GPU: http://www.nvidia.com/page/drivers.html
Mac OS: Install the NVIDIA CUDA driver (v4.0.50 or later): http://www.nvidia.com/object/mac-driver-archive.html
You can update the CUDA driver via the CUDA panel in System Preferences or by going to the NVIDIA website.
If your GPU is not supported or you have an old driver, ray-traced 3D compositions render on the CPU using all physical cores. If you have a GPU-supported configuration in a headless environment (for example, a render farm), you can force ray-traced 3D compositions to render on the CPU by setting the Ray-tracer option in the GPU Information dialog box (available from Previews preferences). Renders done on the CPU match renders done on the GPU.
Mac 10.6.8 only: If you use a Quadro 4000 GPU, install the Quadro 4000 driver for Mac. For more information, see this blog post.