by Larry Jordan
One of the questions I get asked a lot is: “Which computer should I buy?” Along with that is the more important question: “How should I configure it for the work I’m doing?” I’ve known for a long time that we spend too much time worrying about the speed of our CPUs, and not enough time thinking about more important elements such as cores, GPUs and storage.
Today, I had a chunk of free-time so I decided to look into what part of the editing process really exercises the CPU and provide some guidance on when to focus on CPU performance and when to relax and not worry about it. The answers may surprise you.
Clearly, the larger the frame size, the more challenging the edit. So, I decided to focus on measuring CPU load for 4K media. (The numbers for HD media will be significantly less, except for rendering.) There are three areas I want to look at:
- Playback and editing
Along the way, I’ll contrast how Final Cut Pro X (10.4.6) uses the CPU compared to Premiere Pro CC (2019). The big difference between Final Cut and Premiere, is that Final Cut pushes rendering off to the GPU, reducing the load on the CPU. Premiere renders using the CPU. (However, Adobe has stated that they will be utilizing the GPU more in the future.)
Here’s a screen shot from Premiere. Most of the time, Premiere plays and renders in real-time, which is why we see the CPU load increase as the complexity of the timeline increases. Here, I’m playing three scaled 4K clips in real-time with no problems.
However, when rendering and playback exceed the capability of the CPU, a yellow bar appears at the top of the timeline. This indicates that you need to render that part of the sequence.
NOTE: Rendering calculates a single new media clip based on all clips in the timeline and matching the settings of the sequence, or project for FCP X. Rendered files always require less CPU effort than non-rendered files.
When a sequence is rendered, the yellow bar turns green.
MEASURING CPU LOAD
We measure CPU activity using Activity Monitor. This program is found in Applications > Utilities. Each core of your CPU counts as 100%. So, a 4-core system has 400% capacity. A 6-core system has 600% capacity; and so on.
This chart, which is found at the bottom of the CPU tab in Activity Monitor, illustrates the amount of the CPU that is devoted to the operating system (System) vs. applications under the control of the user (User). Here, we see that most of the CPU is processing work from user applications.
The numbers at the top of this window (which we will see in a minute) show CPU allocation for each application. The numbers at the bottom show aggregate CPU activity.
Here’s my test system, a 2017 27″ iMac.
This system only has 8 GB of RAM. However, more RAM benefits storage, not the CPU. So the (relatively) small amount of RAM won’t make any difference in my tests.
I created three separate tests:
- Measure the CPU load while switching between 1, 2 and 3 layers of unrendered full-screen 4K video. This is the equivalent to cutting between different shots.
- Measure the CPU load while simultaneously playing 3 layers of unrendered 4K video, where the bottom layer was full-screen and the top layers were all scaled between 30 – 40% of full size.
- Measure the CPU load when rendering the scaled timeline in Test 2.
NOTE: Rendering, in both Final Cut and Premiere, converts multiple layers of video into a single composite stream that matches the format of your sequence. It is ALWAYS easier to play a rendered clip.
For this test, I used UHD clips (3840 x 2160) saved in ProRes 422 HQ format. ProRes is a 10-bit codec, but these were saved in Rec. 709 color space.
FINAL CUT PRO X
I used Activity Monitor to measure CPU load during playback in Apple Final Cut Pro X (10.4.6). Higher numbers indicate the CPU is working harder. The top table shows how much of the CPU is required to playback a single 4K clip, the middle shows playback cutting between 2 different clips. The bottom image shows playback cutting between 3 different clips.
The CPU load – even when rapidly cutting between three different clips – barely reached 40%; which, on a 4-core system, means less than 1/2 of one core is busy.
Here, I’m playing four clips simultaneously where one clip is full screen and the other three are scaled and composited into the background image.
The CPU load is higher, but not by a lot; only 113%. Even though these clips are not rendered, Final Cut is off-loading most of the rendering to the GPU. Again, the CPU is not working very hard; roughly the equivalent of a single core.
Here, I’m rendering the timeline containing the scaled clips. Rendering, not playback, uses the most CPU effort. 358% means that we are using just about all the CPU resources available.
NOTE: For both Final Cut and Premiere, rendering uses all the computer resources available, which is not true for playback.
However, and this is KEY, rendering is not real-time. Faster CPUs render faster, but they won’t make much difference for review and editing. A slower CPU simply means rendering will take longer; though in practical terms you may not notice the difference in time.
Read the rest, including Larry’s results with Adobe Premiere Pro CC, Multicam workflows, and Larry’s conclusions over at LarryJordan.com.