Performance test: Codecs and QuickTime on PC.

Print Friendly, PDF & Email

I had an aha-moment recently after switching from a QuickTime based project on Premiere, to C300>native MXF. The system was all of a sudden snappy, no stalls, a lot more realtime performance and super fast renders and exports.
My system must have been struggling with something…
A codec that works with low CPU load on a Mac might have a high CPU load on PC.‬ On Mac QuickTime uses the 64-bit AV Foundations framework but on PC Premiere still uses the deprecated 32-bit QTkit framework. Adobe finally wrote an unofficial white paper March 2016 about performance. ProRes is not supported for export on Windows.
QuickTime on Mac works in 64-bit (use all your RAM), OpenCL GPU-accelerated (use your graphics card for playback, render and export), and support Grand Central Dispatch (use all of your CPUs and cores).
With QuickTime and most codecs on PC, I’m experiencing “mini crashes” > white screen lock ups, plus stuttery, slow performance and slow renders & exports. Why?
The QT-32 process on PC runs in a 4 GB memory space, even when lots of memory is installed. To keep up with playback, the system has to keep swapping banks of memory (pagefile.sys) to the hard-drive instead of using all installed memory. I think the white screen lock up is the pagefile.sys being written or read by Windows from the slow internal HD! (freezes about 30sec)
There is no 64-bit version of QuickTime, primarily because Apple has ceased development of QuickTime on Windows (except for security and minor updates). QuickTime has been 7.x for 10 years now, and 8.0 does not seem to be anywhere in the distance.
I urge you to spend one hour to do your own tests, on your system with your own media. Figure out what formats and codecs give you the best realtime performance. Each of the NLE’s has it’s own workarounds to bypass QuickTime depending on codec used. Save yourself and your clients thousands of hours not waiting anymore for renders, exports and restarts.

Security Alert uninstall QuickTime on PC.
-Avid’s advice about Quicktime
QuickTime is deprecated? What does that mean in practice?
What is Apple doing with QuickTime?
How do I speed up rendering, exporting, or encoding?
-Adobe’s smart rendering workflow
A Guide to Common Video Formats: Containers, Compression, and Codecs
-In Premiere> QuickTime for Windows cannot export H.264 on computers that have more than 16 CPU cores due to a problem in the Apple H.264 compressor component.

Delivery in MXF
You can edit without QuickTime but deliver in Quicktime. When a client asks for QuickTime & certain codec, I give them what they want. This means keeping a Mac around somehow for ProRes delivery.
Saving MXF clips to MXF container in Premiere
AVID – Fast Import Apple ProRes .mov to AVID Pro Res .mxf Workflow
Arri Alexa bypassing Quicktime using MXF instead
About smart rendering in Premiere

Here is what to do
1. Set yourself up for testing> press Ctrl+Alt+Delete and start Task manager> Resource Monitor >Overview tab.
Make visible
2. Observe CPU Usage & Disk I/O with different codecs.
With an optimized codec like AVID, Sony EX422 or Cineform your CPU load should be low 5-10% and your Disk I/O should match whatever the bit rate is of the codec. My conclusion is that the QT32 process doubles CPU load during playback, render and export. An Intra-frame, non-QuickTime codec plays at 5-10% CPU, as opposed to 50-60% CPU as QuickTime, while also adding to Disk I/O. It means that a timeline with filters will take twice as long to export and playback always stutters.
The most astonishing thing is that a Premiere timeline with an QuickTime codec, rendered green, will still stutter playing back on both Mac and PC! I think that is embarrassing and unacceptable!
The culprit is the  QT32 process multiplying itself for no reason, taking up more and more CPU cycles. As your project grows and your timeline becomes more complicated this keeps dragging your realtime capabilities down until it literally stops… Restart!

Below Playback the way it should be: Low CPU load and Disk I/O at the bit rate of the codec. Note the files on the timeline being read in the Disk I/O list.
Now look what happens when playing back a ProRes QuickTime in Premiere.
1. CPU cycles taken up by Premiere
2. CPU cycles taken up by the QT32 process
3-8. The files on disk being read by the QT32 process including:
9. pagefile.sys the Page File it has to keep writing and reading off the drive to compensate for the 4GB memory limit. >Causes “white screen lock up” (about 30 sec.)