With upcoming changes to data protection and privacy laws in Europe coming into effect soon, we thought this would be a good time to remind everyone that we do have a privacy policy.
This applies to all users and visitors world-wide.

We have made a few changes to the language to make it clearer in relation to this new regulation but fundamentally, the terms and your rights are unchanged.

If you have any questions about this, please feel free to ask in the General Forum

Handbrake encoding speeds (FPS) on Multicore Enviroment

HandBrake for Windows support
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.

Handbrake encoding speeds (FPS) on Multicore Enviroment

Post by master256 » Thu Feb 09, 2017 10:44 pm

Hello, i have a question regarding the encoding speed of handbrake / x264 in this case.

i did a quick encode to generate a log:

it also shows all the other wanted details like Version, Windows and Hardware information.

Now "detailing" my Question.

I built a new System and used the 2x Intel(R) Xeon(R) CPU E5-2683 v3 (YES 2 of them)
Thats 2x 14 native Cores + HT = 56 Hyperthreaded cores avail to the System
(for additional info, all seated on an Asus-Z10PE-D8-WS Motherboard)
when doing an encode its barely using only half of my avail CPU Power, to be exact, it seems it only working mainly on 1 CPU as you can see in the Screenshot:


Its not always the first CPU used fully with spikes on the 2nd, mostly its the 2nd with spikes on the 1st.
At first i started with no "threads=" option used and speed wasnt what i expected, then i tried to add some, first i tried slowly with threads=28 (the native Cores in my System), got a bit faster but still meeh, then i went threads=56, again faster but still not even 50% CPU usage, then i tried 1,5x HT Cores Count = threads=84, again faster, but still nowhere near 100% so i went for the maximum allowed by x264: threads=128 and thats what i use now since it seems to be the maximum i can get out of x264 (i also tried using other encoders like ffmpeg, same results)
For some reason its seems like the encoder hits an invisible "barrier" within the actually used cpu and cannot make real use of the 2nd one.

I know, such a System isnt common, even more with running a somewhat [Censored] OS like the Windows i use to controll all that power, but i'd still be interested whether there is anything i can do to make it use 100% of the CPU with only 1 encode.
In the screenshot i did a CRF Encode, but usally i do 2-pass and on the 1st pass its even more like a desaster, then its only using like 10-15% CPU per encode.
I usually never have a problem to run more than 1 encode parallel but as said before i really would love to know where the "problem" is, whether there is any bottleneck i havent thought about, if it would be possible to compile a special Version myself that would allow me to set more threads than 128 or to compile with an somehow "Dual CPU Option", or is it a problem with the chipset driver, or ... or ... ?!?

When i use a common "CPU-Power Benchmark" it uses all Cores on BOTH CPU's:
what makes me think the Link between the CPUs and the Chipset configuration seems OK and working.

Please guys help me, would love to hear some thoughts about that,
willing to provide any more info you need and test whatever you want

Thanks in advance

Veteran User
Posts: 5953
Joined: Sat Apr 21, 2007 8:54 pm

Re: Handbrake encoding speeds (FPS) on Multicore Enviroment

Post by mduell » Thu Feb 09, 2017 11:48 pm

Code: Select all

 "File": "O:\\Downloads\\mirc\\Upload\\Outsiders.S02E02.720p.HDTV.x264-FLEET[PRiME]-1.mkv",