DAV TechTalk Blog #3
A few tweaks on your editing system can make all the difference when it comes to performance. This quick blog will go over a few of these commonly overlooked settings.
The first and by far the most important thing to check is graphics drivers (GPU). I would estimate that 80%, or more, of issues we see are related to graphics drivers. These are more common on Windows 10 than on macOS, due to the sheer number of choices you have when it comes to graphics cards. Between NVIDIA, AMD, and Intel Iris, there are sometimes weekly driver updates. Since macOS GPU drivers are 100% controlled by Apple and their OS updates, it’s a bit more predictable on that front.
To help stay on top of GPU drivers, we have a System Compatibility Report in Premiere Pro and After Effects which checks your system and flags driver versions if they’re out of date.
If an issue is detected, the System Compatibility Report warns you when you launch Premiere Pro or After Effects. We align the GPU driver update with major releases of Premiere Pro, After Effects, and Adobe Media Encoder. This will also typically align with newer GPU technology like NVIDIA RTX/Ampere and AMD Vega, which will see driver updates to support those changes in newer GPU chipsets.
Golden Rule for Windows 10 users: If your system is working and the System Compatibly Report is not flagging you for an update – LEAVE IT ALONE… do not update your GPU driver. Just because there is a new graphics driver does not mean you see will better performance.
General Rule for macOS users: Stay as current as you can on macOS updates (currently 10.14, 10.15, or 11.0). Nearly every macOS update has GPU changes as Apple tweaks their Metal acceleration layer. Nearly every macOS update has GPU changes as Apple tweaks their Metal acceleration layer. If you are new to Apple Metal, it provides near-direct access to the GPU, which maximizes the GPU and CPU/chipsets for threading, shaders, and more. All our current macOS GPU work is based on Apple Metal and the hardware that supports it. We work closely with Apple’s Metal engineering team on performance for Premiere Pro and After Effects, resulting in recent performance improvements for rendering and playback on macOS. Note: if you are a Windows 10 users – Apple Metal is the equivalent of DirectX 12 on Windows.
There have been rare occasions where there was an OS update that also updated GPU drivers and caused crashes in some applications. This is one of the reasons we built the System Compatibility Report. It’s critical tool to help monitor GPU driver changes.
If you are prompted to send a report to Adobe after a crash, please fill in a few details before you hit send: context helps us to identify issues faster. Also feel free to add your contact information, in case we need more details. These crash reports are often part of the first line of defense when OS GPU driver changes happen and your reports help all users.
Performance Tuners/Performance Advisors applications
All of our main PC workstation/laptop providers like Dell, HP and Lenovo have “tuner” or “advisor” apps that turn on/off options, which can increase performance. Complex options in your PCs BIOS can affect the performance of many different applications as well as other key settings to the specific workstation/laptop. Generally, you’ll see a list of applications that have been “performance tested” in their labs. These apps are free and totally worth testing out.
PugetBench for Premiere Pro
Custom PC builders, like Puget Systems, also “tune” their editing systems as part of their custom build. Puget Systems also has a set of Premiere Pro and After Effects benchmark projects that you can run and test your systems performance. I highly recommend these benchmark projects.
Testing Premiere Pro performance with DogEars
Premiere Pro has a built-in onscreen engineering level performance checker known as “DogEars mode,” which has been included in the application for nearly a decade. It’s an on-screen internal engineering tool we use to read requested FPS, Prefetch Latency, and current codec being read by the Playhead. Most importantly it shows dropped frames in real time. The Downsample field shows where your playback quality is set. 1.00 = Full quality, 2.0 = ½ quality and so on.
Using it can seem a little tricky but follow these steps and you’ll find that it’s easy to turn this mode on and off.
- Make sure that no video is playing as the toggle switch gets set when nothing is playing
- Press these 3 keys macOS [Cmd]+[Shift]+[F11] Windows10 [Ctrl]+[Shift]+[F11] to turn on
- Press play or spacebar and you will see the overlay pictured above
- Stop playback and press the same 3 keys to toggle off (press play again to refresh the screen)
Note – if you are on an Apple keyboard, your Function key [F11] might require that you also hold down the [Fn] key (in this case you’ll need to press 4 keys to toggle DogEars mode on and off)
I use the DogEars mode to check how my network storage is working when reading media from a shared storage volume or any local storage like an external Thunderbolt drive/raid. Different codecs and frame sizes will also show in this mode and you’ll see the framerate as it reads the current codec during playback. This is very useful when reading a timeline that has mixed codecs. This will also show you why many people transcode all their media to a working codec like Apple ProRes (macOS and Windows) to avoid dropped frames.
Understanding how Premiere Pro uses the GPU
When Premiere Pro launches it runs a mini program called the GPU Sniffer which identifies all the GPUs and their resources available on your system. Here’s an example of what that looks like:
The GPU used for timeline playback is designated as Device 0, in this case an AMD Radeon Pro WX 9100.
If you want a better card for playback on a laptop, you can use an eGPU Thunderbolt 3 chassis, like the ones from Sonnet Tech, paired with a full-length graphics card. Then use the eGPU as Device 0 for playback. Remember that DogEars mode discussed above will show you which GPU it’s using for playback.
This image shows both internal and external AMD GPUs with usage at 100% for rendering and exporting. In this example, Premiere Pro has turned off the integrated Intel 630 GPU to prioritize the AMD GPUs for rendering and export. I explain more about using Premiere Pto with an eGPU in this video.
Codecs and Performance
As an editor or video creator, a little bit of understanding about codecs can save you a lot of time. Formats like Apple ProRes, GoPro Cineform, XDCAM, and Avid Dnx are commonly used as “working” codecs in Premiere Pro because they are enhanced to use CPU or GPU and are included with the standard install. All of these codecs, including Apple ProRes, work on macOS and Windows 10.
Codecs like Red Camera R3D and ARRI also have excellent performance but it’s important to understand that these companies continue to do their own engineering so performance can change from time to time for certain RAW codecs. As engineering efforts line up between the camera manufacturer, the operating system (MacOS and Windows), and Adobe, you’ll see ongoing performance improvements over time.
3rd party Codecs like Black Magic Design’s BRAW codec for their line of cameras require you to download their Camera update and have excellent RAW controls as well as excellent performance in Premiere Pro and After Effects.
There are also other tools like Red Camera’s REDCINE-X Pro which can help when working with large R3D files that need trimming. This the “go to tool” for any Red Camera user.
Highly compressed formats like LongGOP, H264, and HEVC have heavy compute requirements that are very different than those listed above. Codecs like H264 and HEVC/H265 (.mp4) were originally designed as delivery formats and not really intended for editing. Many phone, drone, and camera vendors encode in this format to save on memory card space and generally have excellent quality in both 8- and 10-bit color.
Decide whether you want to work natively with these formats or transcode into a working format like Apple ProRes for editing. I HIGHLY recommended that anyone working on a longform project, like a documentary, consider transcoding their media using Adobe Media Encoder (AME). You can setup a watched folder inside AME and simply drag and drop your files into the folder and transcode to a format like ProRes422.
A complex codec like LongGOP is an excellent example for showing how transcoding can be really helpful.
LongGOP simplified: GOP compression only displays the changes between both I-frames
I = Intraframe
B = Bi-Directional Frames
P = Predictive Frames
The picture above shows that between each Intraframe (also known as I-Frame) is a Predictive Frame (P) and a Bi-Directional Frame (B) that needs to be calculated for every edit point in your sequence. This means that when you open a project or switch to a different sequence, Premiere Pro needs to perform a “check-in” for each I-Frame and calculate the P and B frames. This takes a lot of system resources to provide smooth playback and smooth editing experience. While we have excellent performance with LongGOP, it comes at a cost; by transcoding to a different codec you end up with more available system resources for other tasks.
GPU-accelerated codecs and Effects
Different codecs use different parts of the system to run, and the same thing is true of effects. In general, GPU-accelerated codecs and effects run faster, but paying attention to the details and how things run in combination can pay off significantly in terms of overall performance.
GPU-accelerated Codecs: R3D, H264, HEVC, ProRes RAW
CPU-optimized Codecs: ProRes (other than RAW), DNx, ARRI, XDCAM
Most effects in Premiere Pro (and many in After Effects) use GPU-acceleration. You can confirm which ones by looking for the “GPU-acceleration brick icon” in the Effects Panel:
Note that if there’s not enough GPU memory, Premiere Pro reverts to CPU-based processing for that effect (e.g. for large frame sizes like 6K and 8K).
For timeline playback (e.g. decoding Premiere Pro uses one GPU, so a good graphics card with at least 8GB of memory will serve you well).
For rendering or exporting, Premiere Pro can make use of up to three GPUs. Laptop users, for example, may benefit from using multiple GPUs or adding an external eGPU.
But note that that improvements are not always linear when using multiple GPUs and heat affects GPU performance.
What about Apple Afterburner?
Afterburner is an example of field-programmable gate array (FPGU) board. Boards like these can be custom programed to optimize specific codecs for playback.
Premiere Pro v14.3 or higher can take advantage of Apple AfterBurner card. I have been impressed with its performance. This is another example of our collaboration with Apple engineering. As of this writing, Afterburner support provides acceleration for ProRes decoding, not encoding. No other formats are currently supported. For Windows users, currently there is no shipping FPGU board for Premiere Pro. If this changes, I’ll make sure to let you know!
Exporting faster with Smart Rendering
To wrap up, let’s look at how you can use Smart Rendering to get faster exports out of Premiere Pro and Adobe Media Encoder. Smart Rendering can be used for certain formats to create better quality output by avoiding recompression. To use Smart Rendering, the source codec, size, frame rate, and bit rate have to match the export settings, but it can be a big time saver at the end of your projects.
To use Smart Rendering, check the “Use Previews” box in your Export Settings
Codecs in an MXF wrapper that support Smart Rendering
- AVC-Intra in MXF (Format > MXF OP1a & Format > AS-11)
- DNxHD & DNxHR in MXF (Format > DNxHR / DNxHD MXF OP1a)
- DNxHD MXF OP-Atom to DNxHD MXF OP1a
- JPEG 2000 (only works when using the 12-bit PQ space)
- MXF OP-Atom AVC Intra to MXF OP1a AVC-Intra
- MXF OP1a to DNxHD MXF OP1a
- XDCAM HD (Format > MXF OP1a & Format > AS-10)
- XDCAM EX (Format > MXF OP1a)
- XAVC-Intra in MXF (Format > MXF OP1a)
Codecs in a QuickTime wrapper that support Smart Rendering
- GoPro CineForm
- NONE: Uncompressed RBG 8-bit
- ProRes 422
- ProRes 422 (HQ)
- ProRes 422 (LT)
- ProRes 422 (Proxy)
- ProRes 4444
In the next post, we will dive deeper into performance by taking a look at a few Preference Settings in Premiere Pro that can make a big difference.
Other Tech Talk blogs by Dave Helmly
DAV Tech Talk Blog #1: How to Choose the Right System for Adobe Premiere Pro and After Effects
DAV Tech Talk Blog #2: What Adobe Premiere Pro Is Trying to Tell You About Performance