Optimizing Handbrake for Faster Video Conversion
Handbrake converts DVD video to formats that can be played on the computer, the iPod/iPad/etc or any conventional player.
While Handbrake makes far better usage of multiple cores than most programs, it doesn’t scale much beyond 9 cores (as of August 30, 2010). Perhaps a future release will address this limitation.
This approach makes sense on the 12-core Mac Pro, with its ample CPU core reserves. It will likely show little or no advantage on 4-core machines, or might even be slower (not investigated, an exercise for the reader).
Shown below are timed results encoding the same four movies totaling about 3 hours of video, using these settings. The faster results for each Mac Pro used two copies of the Handbrake application running at the same time. Surprisingly, even the 6-core machine benefits from this approach, though not as much.
For a big queue of jobs, the 26% time savings is very attractive (640 vs 874).
With dual apps, the
How to do it
- Duplicate the Handbrake application;
- Launch both copies of Handbrake;
- Add video to be converted to the queue in each Handbrake program, balancing the material between them so that both queues have approximately the same work to be processed.
- Start both copies running.
CPU core usage
Shown below are two copies of Handbrake running simultaneously on the 12-core.
This is what you want to see on a 12-core system. The less than helpful display of all 24 virtual cores suggests that there is untapped CPU power, but that’s not really true; there are twelve hardware cores, and they are being fully used; virtual cores (hyperthreading) are slightly better than useless.
Settings used for encoding the video.