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:
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:
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.
PREMIERE PRO CC
Again, this is Activity Monitor measuring CPU load during playback in Adobe Premiere Pro CC 2019. 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.
While Premiere requires more of the CPU than Final Cut, the maximum CPU load is not a lot – slightly over 100%. I find it interesting that the CPU works harder playing a single clip than multiple clips; but, essentially, the number of 4K clips in the timeline doesn’t matter to the CPU very much.
Here, I’m playing three clips simultaneously where one clip is full screen and the other two are scaled and composited into the background image. The sequence can be played fully without rendering; there is still plenty of unused CPU power (the Idle value, at the bottom)
Here, I’m playing four clips (one full-screen and three scaled) simultaneously and the complexity of the sequence requires rendering. Why? Because there isn’t enough CPU power to play and render all these clips in real time. (Premiere needs about 345% of dedicated CPU power for this sequence, which, given everything else the computer is doing, just isn’t there.)
If we stop playback and render these four clips, notice that Premiere is using all the CPU power, because it knows that playback won’t be required during rendering.
NOTE: The VTEncoderXPCService is also called by Adobe, but only during renders.
Rendering, whether for FCP X or Premiere, always uses as much of the CPU as possible. Faster CPUs won’t create higher quality work, they’ll just get the work done quicker.
Multicam is a special case, because all clips in the multicam clip are playing simultaneously allowing you to switch between them instantly. In the screen shot above, you can see the CPU load for both Final Cut and Premiere streaming and cutting a multicam clip containing four 4K clips.
NOTE: As your camera counts increase, it becomes a wiser alternative to edit multicam clips using proxy files to decrease the load on both CPU and storage. Then, trim and add effects after the multicam edit is complete to the master 4K clips.
Just as a note, streaming these four clips required 471 MB / second in Adobe Premiere. This is slightly faster than a RAID 5 composed of four spinning hard drives or one PCIe SSD attached via Thunderbolt 3. 4K media requires FAST and HIGH-CAPACITY storage!
Playback doesn’t take a lot of CPU power. Yes, HDR and RAW files will require more from your CPU, but not a stunning amount. Virtually any computer released in the last four years can playback and edit 4K media.
Where faster CPUs become helpful is in speeding multicam, render and export tasks. If you are always on a tight deadline, spending more for a faster processor is worth it.
However, since image and audio quality is the same regardless of how long renders take, if you have a bit more time, spending less for your CPU won’t affect playback or your editing. A better place to spend money is on faster, higher-capacity storage.
There’s no perfect answer that fits everyone but I thought you’d enjoy seeing how little of your CPU is needed for playback and editing – even of 4K video.
You can measure your CPU load yourself. Just open Activity Monitor (it’s in the Utilities folder), click the CPU tab at the top and watch what happens as you review, edit, playback and render your projects. I always find using this utility to be very informative.
Final Cut Pro X 10.4
Edit smarter with Larry’s brand-new webinars, all available in our store.