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.
Locked
master256

Handbrake encoding speeds (FPS) on Multicore Enviroment

Post by master256 »

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

i did a quick encode to generate a log:
http://pastebin.com/ayk0UDaG

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)
BUT
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:

https://i.imgur.com/jR0ucwJ.jpg

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:
https://i.imgur.com/SjW0sTC.jpg
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
mduell
Veteran User
Posts: 8187
Joined: Sat Apr 21, 2007 8:54 pm

Re: Handbrake encoding speeds (FPS) on Multicore Enviroment

Post by mduell »

Code: Select all

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