Question Handbrake 1.3.3 - Benchmark your System - COMPLETE Overhaul of the test

Hulk

Diamond Member
Oct 9, 1999
5,079
3,574
136
A little background...
Handbrake is a ubiquitous encoding application and happens to be one that makes good use of multicore/thread CPU's when encoding x265. x265 is a widely used and efficient compression scheme that requires significant compute to encode. While hardware encoders are faster, at the same bitrates, CPU (software) encode produces better video quality. Of course this assumes the use of lower bitrates as quality for both hardware and software encodes will be indistinguishable at higher bitrates. But the point of the video encode is to get good quality at low bitrates so we are therefore testing software encode.

fps/GHz/core is a representation of how efficient a given CPU core is at encoding the test file using the x265 format. The number is arrived at by multiplying the number of physical cores by the average frequency they are running at and then dividing by the fps from the Handbrake test. It tells us for a given core how many fps can this core encode the test if it was running at 1GHz. We could consider this an "IPC" of sorts for this test but strictly speaking this would be closer to the word "throughput." And as you know many around here are indeed strict with terminology so I will avoid the word IPC at it denotes Instructions Per Cycle and that is not actually what we are measuring.

Some people will go "all out" and try and run their system as close to the limit as possible and others (like me) just run at stock. All of the data is valuable and informative as long as it is collected from each person in the same manner and there for comparable.

I went through all of the results and created a new table. In respecting everyone's time who participated in the old data I am keeping that data on the 2nd page of this post.

Here's the test file: https://4kmedia.org/lg-new-york-hdr-uhd-4k-demo/


1. Use the following version of Handbrake with the built-in h.265 mkv 2160p60 preset
HandBrake-1.3.3-x86_64-Win_GUI.exe
Don't forget to turn on logging in Handbrake so you can retrieve your time. Tools>Preferences>Advanced>Logging
Once this current version is replaced you'll be able to access this version from the following link.
HandBrake: Nightly Builds
Nightly builds of HandBrake
handbrake.fr

2. Report your encoding time, average CPU frequency, and Package Power. If you have a hybrid CPU you can turn off the E's in the BIOS. For E testing turn off all P's except one in the BIOS, clock it down to 800MHz, and then shut it down with Process Lasso. Or just report your score with 1 P at 800MHz and let me know you did that so I can subtract out that P core's (minor) contribution to the encode.

Here's how to report your average clock and package power so we are all doing it the same way.
Handbrake does some housekeeping right after you start encode and when the progress bar gets to 100%.
This could result in lower than actual average clock.
After you start the encode, wait a few seconds until you see the green Handbrake bar appear, then reset the HWinfo counter.
At the end don't wait to grab the screen shot at 100%, just do it sometime after about 95%.

3. CPU Model, and RAM specs
 

Attachments

  • Handbrake.chart.jpg
    Handbrake.chart.jpg
    581.4 KB · Views: 36
  • Handbrake.new.jpg
    Handbrake.new.jpg
    1.2 MB · Views: 26
Last edited:

ElFenix

Elite Member
Super Moderator
Mar 20, 2000
102,389
8,547
126
Ryzen 3600X, 16GB DDR4@3200, HB 1.3.3, windows 1909, 97.4% usage, 3970.4 clock, encoded 1806 frames in 367.91s (4.91 fps), 11820.04 kb/s, Avg QP:29.09
 

Kenmitch

Diamond Member
Oct 10, 1999
8,505
2,250
136
My 5900x at stock clocks. I forgot to snip a photo of the activity log, but the overall score is there anyways. Less clocks and load then
I originally had thought.

Handbrake.png
 

Det0x

Golden Member
Sep 11, 2014
1,421
4,812
136
Baby 5950x testrun with PBO enabled, static OC would score much better in this bench.

14.89 fps done.png

Kinda strange the benchmark says my average fps is 15.1 in the last 3 seconds in the screenshot, but the text log says 14.89 fps
encoded 1806 frames in 121.28s (14.89 fps), 11820.04 kb/s, Avg QP:29.09
3807mhz average effective allcore clock
Total cpu usage average = 80.9% / Max cpu/thread usage average = 90.8%
237 max watt usage / 200 watt average usage (!)
 
Last edited:

Kenmitch

Diamond Member
Oct 10, 1999
8,505
2,250
136
Puzzles me why 5900x is at 80.2% average effective CPU while 5950x with more cores is at 82.5%? Memory seems virtually identical? What does the "1:1" mean in XabanakFanatik's results mean. I'm not well versed on AM4 memory architecture.

I think your mixing up the 3900x and 5900x results is why. They're correct in the chart. The 1:1 means the infinity fabric and memory clocks are in sync.
 

Hulk

Diamond Member
Oct 9, 1999
5,079
3,574
136
I think your mixing up the 3900x and 5900x results is why. They're correct in the chart. The 1:1 means the infinity fabric and memory clocks are in sync.

Yes you are right. But now I'm wondering why the 5900x has higher average effective CPU usage than 3900? Perhaps the better Out-of-Order scheduler/branch predictor is doing a better job?
 

ElFenix

Elite Member
Super Moderator
Mar 20, 2000
102,389
8,547
126
i3-4130/8GB DDR3something/windows 2004/3.4GHz avg/99.9% usage

encoded 1806 frames in 2236.56s (0.81 fps), 11820.04 kb/s, Avg QP:29.09


closed a bunch of programs/turned off folding et walla:

i3-4130 / 8GB DDR3 1600/11/11/28 / windows 2004 / 3.35GHz avg / 98.7% usage (though handbrake itself was usually a couple % below that and dropped a bit a few times when i had to open acrobat)

encoded 1806 frames in 1842.97s (0.98 fps), 11820.04 kb/s, Avg QP:29.09

explorer_2020-12-15_16-19-49.png
 
Last edited:

Det0x

Golden Member
Sep 11, 2014
1,421
4,812
136
New run from me, still with PBO enabled.

encoded 1806 frames in 119.34s (15.13 fps), 11769.09 kb/s, Avg QP:29.15
handbrake.png

3901mhz average effective allcore clock
Total cpu usage average = 81.8% / Max cpu/thread usage average = 92.1%
259 max watt usage / 214 watt average usage (!)
 

Det0x

Golden Member
Sep 11, 2014
1,421
4,812
136
This is interesting. Too bad we don't have more data but let's try to analyze this.

We have two 16 core Zen 3 parts, which both have average effective CPU of about 82%.

12 core Zen 3 at 86% and 12 core Zen 2 at 80%.

10 core Comet Lake at 97%

The rest of the scores are from 8 or less core parts and except for 1 result they all are 95% or greater.

The most obvious conclusion is that Handbrake isn't able to use 16 cores/32 threads very effectively. But then we have the 80% usage for the 12 core Zen 3 and the 90% for the 10 core Comet Lake.

Without more scores to analyze I'm stumped?

I noticed that the three results you provided with nearly 100% CPU usage were benchmarks, which are specifically designed to stress all available cores.

Do you have any programs that you use day-to-day that stress the CPU higher than Handbrake?

Think its better if we take this discussion here in this thread instead :)

And the answer to your question relays soley on what preset we use.. with the "production max" i have 100% usage.
prod max preset.png

Or if i modify the h.265 preset to higher quality setting i can also use all 32 threads:
h.265 higher quality.png
 
Last edited:

burninatortech4

Senior member
Jan 29, 2014
713
392
136
Ryzen 2700X (stock), 16GB DDR4@3200 CL14, HB 1.3.3, windows 20H2, 98.9% usage, 3970.4 clock, encoded 1806 frames in 414.95s (4.35 fps), 11820.04 kb/s, Avg QP:29.09
 

Hulk

Diamond Member
Oct 9, 1999
5,079
3,574
136
@Det0x,

Thanks for moving the discussion to the proper forum.

I'm going to take a crack at analyzing this and hope one of the many people a lot smarter than me will step in.
Why does my 5950x use 80% CPU on this test at QP 24 but 100% CPU at QP 40?
Handbrakes scans the video to identify a GOP (group of frame) to be encoded
Each frame is converted to a compressed image use quantization selected with the QP slider (like jpeg)
Regardless of the QP slider value or preset the DCT (discrete cosine transform) above uses the same amount of compute
But, motion/vector searches require more compute for more detailed (lower QP values)
Motion/vector search is not highly threaded and is the most compute intensive part of the encoding process
If the motion search is still progressing after the DCT is finished then all available thread for 12+ core CPUs are not utilized
When the QP slider is set to higher values or when using faster presets the motion/vector search "keeps up" with the DCT and other encoding work and CPU usage remains high.
If this analysis is correct then at a QP of 24 a highly threaded CPU (16 or more physical core) should use more CPU as the presets are moved to faster options
 
Last edited:
  • Haha
Reactions: richierich1212

Det0x

Golden Member
Sep 11, 2014
1,421
4,812
136
Veryfast = 82.1%
veryfast.png

Faster = 82.6%
faster.png

Fast = 82.3%
fast.png

Medium = 79.3%
medium.png

Slow = baseline

Slower = 82.5%
slower.png

Very slow = 84.7%
veryslow.png

Placebo = 94.4% (run took 22min)
placebo.png