A little background info... I have both a quad core phenom 2.3ghz machine that is about 6 months old with 4 gigs of ram and a single core athlon 64 2.2ghz machine that's about 3-4 years old with 2 gigs of ram, both running ubuntu (the quad core is 8.04 and the single core is 8.10 currently). I'm using SVN for the quad core and the prepackaged 0.9.3 debs on the single core. I also have a dual core turion 1.6ghz laptop that has 2 gigs of ram and is running 8.04 and the SVN build.
I would expect that while the quad core certainly won't be 4x as fast encoding as the single core, I should at least see some performance gain, but I'm not seeing any difference in encoding time. In fact, using the exact same settings for x264 encoding I am seeing the single core encode slightly faster (by about 20-30 minutes in a 5 or 6-hour encode). The laptop takes about 2-3 hours longer than the quad core does to encode, which is not unexpected. I'm extremely confused as to why this might be and was wondering if anyone had run into any similar situations while encoding? I've checked the task manager in gnome as well as htop and both indicate that all 4 cores are being utilized at greater than 90% on the quad core machine and dual core machine. Is it a difference between SVN and the 0.9.3 build? Is there an option I need to check somewhere to more efficiently make use of my multicore machines?
The encoding setting I'm using are the following (options not mentioned are off/default):
Output container: AVI
De-Comb: yes
Video Codec: x264
Two-pass encoding: on
Turbo first pass: on
Predetermined file size: 2000mb
Audio: MP3 (lame)
Audio Bitrate: 160
Reference frames: 2
B-frames: 2
Motion estimation method: uneven hexagon
Motion estimation range: 32
Motion estimation Sub-pixel method: 6
CABAC entropy encoding: on
I realize that since I'm running different versions of Ubuntu and different versions of Handbrake that I'm not exactly comparing apples to apples here, and I'm not really expecting a solution, but I was more curious as to why my clunky old single core machine was performing the exact same or better than my shiny new quad core machine and thought I'd come to the experts to see what thoughts you all might have.
Thanks and Merry Christmas, Happy Hanukkah, Happy New Year, Happy Kwanza, or Merry whatever-you-celebrate!!!
Regards,
Dave
Multicore vs. single core performance
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.
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.
-
- Posts: 33
- Joined: Fri May 23, 2008 12:27 am
Re: Multicore vs. single core performance
I'm not the guy that iss going to answer your question, BUT I will tell you this probably won't get answered without some activity logs.
Re: Multicore vs. single core performance
I'm not looking for someone to fix it... It's most likely some hardware config problem on my end anyway. I was just looking for some anecdotal evidence from others on the forum to see if they've had similar experiences.
Re: Multicore vs. single core performance
Thats interesting because I have a Phenom, several dual-cores and a few single-cores. The dual-cores all seem to be nearly 40-60% faster than the single-cores. Now the Phenom rips at single speed BUT is running a non-SMP etch so HB only sees one proc. I have also noticed that 64 bit versus 32 yields a bit of a difference as well.
Re: Multicore vs. single core performance
Did you compile with the newest version of yasm on your quad core machine? If not handbrake will not be using a HUGE portion of your processors capabilities. Without a log it's hard to venture a guess as to the nature of your problem. You would need to do it like this...
Then recompile Handbrake with the newer Yasm assembler...
You can either svn update your Handbrake directory, or just checkout the latest trunk version again like this.
Hope that helps.
Code: Select all
cd ~/
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.1.tar.gz
tar xzvf yasm-0.7.1.tar.gz
cd yasm-0.7.1
./configure
make
make install
cd ..
rm -rf yasm*
You can either svn update your Handbrake directory, or just checkout the latest trunk version again like this.
Code: Select all
svn co svn://handbrake.m0k.org/HandBrake/trunk HandBrake
cd HandBrake/
./configure && jam