Log in

View Full Version : x264 on dual-core


Sarreq Teryx
3rd June 2008, 00:04
it seems that it's taking very little if any advantage of my dual-core system. on my single CPU Athlon64 2.20Ghz (Athlon 64 3400+) a 720x480 video will run at between 2.6 and 6.8fps taking a 24minute video roughly 2 to 3 hours to encode. using the same source file and the same options, on my dual-core athlon x2 1.68Ghz system, it does just about the same, which could be easily explained by sse3, ssse3 and the improved design of of an x2's single CPUs, but it seems that there's no gain from the second CPU at all. does x264 maybe need a command line option to use a second CPU?

Dark Shikari
3rd June 2008, 00:06
it does just about the same, which could be easily explained by sse3, ssse3 and the improved design of of an x2's single CPUsSSSE3 is currently Intel-only, and SSE3 is totally useless for Athlons (its only used as a workaround for an Intel cache loading issue).does x264 maybe need a command line option to use a second CPU?--threads auto

LoRd_MuldeR
3rd June 2008, 00:09
I think the default is "--threads auto", which will detect the optimal number of threads for your computer (threads = 3/2 * cores).
Also x264 scales very well on multi-processor/multi-core systems. I read it scales fine up to 8 cores or even more...

Question: Maybe you use some "experimental" build with multi-threading disabled?
Also: What are your settings? Were all settings identical for your tests? Settings can effect speed a lot!

EDIT: Damn, too late :p

Dark Shikari
3rd June 2008, 00:12
I think the default is "--threads auto"Default is singlethreaded, which, well, I disagree with that default :p

LoRd_MuldeR
3rd June 2008, 00:17
Default is singlethreaded

:eek:

Sarreq Teryx
3rd June 2008, 00:37
SSSE3 is currently Intel-only, and SSE3 is totally useless for Athlons (its only used as a workaround for an Intel cache loading issue).I have no idea about sse3 in that respect, only that it's built into athlon x2's, so if you say so, I'll believe you.

but, when I use the newest FFDShow it shows that ssse3 is in use :confused:

Dark Shikari
3rd June 2008, 00:40
I have no idea about sse3 in that respect, only that it's built into athlon x2's, so if you say so, I'll believe you.

but, when I use the newest FFDShow it shows that ssse3 is in use :confused:I was referring to our use of SSE3, not SSE3 in general, of course.

Inventive Software
3rd June 2008, 01:21
I have no idea about sse3 in that respect, only that it's built into athlon x2's, so if you say so, I'll believe you.

but, when I use the newest FFDShow it shows that ssse3 is in use :confused:

ffdshow has 2 sections regarding CPU extensions: what it finds, and what it's allowed to find. If the greyed out boxes show SSSE3 it's likely a new Athlon that probably supports SSSE3. If the checkbox says SSSE3 that just allows it to detect it if it's there. ;)

Sarreq Teryx
3rd June 2008, 02:14
ffdshow has 2 sections regarding CPU extensions: what it finds, and what it's allowed to find. If the greyed out boxes show SSSE3 it's likely a new Athlon that probably supports SSSE3. If the checkbox says SSSE3 that just allows it to detect it if it's there. ;)Thanks you, but I do know the difference, I was referring to the detected section
I was referring to our use of SSE3, not SSE3 in general, of course.Oh, OK, what's wrong with using sse3 in x264 then?

Sarreq Teryx
3rd June 2008, 02:26
sorry, I've gone off track in my own thread:stupid:
Question: Maybe you use some "experimental" build with multi-threading disabled?
Also: What are your settings? Were all settings identical for your tests? Settings can effect speed a lot!I'm using build 859 packaged with Ripbot264, and whatever command-line that uses. here's my profile.ini though
[x264settings]
DeblockingStrength=1
DeblockingSensitivity=1
AdaptQuant=1
MotionEstimationAlgorithm=4 - ESA
SubpixelRefinement=7 - RDO level 2
I4X4=1
P4X4=0
P8X8=1
B8X8=1
AdaptDCT=1
I8X8=1
NumberOfRFrames=5
mixedRFrames=1
TrellisQuant=1
CABAC=1
NumberOfBFrames=3
AdaptBFrames=1
BPyramid=1
WeightBPrediction=1
BidirectionalME=1
RDOBFrames=1
HRD=1
BufferSize=14000
MaxBitrate=25000
Level=level 4.1

Sarreq Teryx
3rd June 2008, 02:38
also, what?I think the default is "--threads auto", which will detect the optimal number of threads for your computer (threads = 3/2 * cores).1.5 threads per core? how's that work? 3/2=1.5
*2cores=3 threads
*3cores(phenom x3)=4.5 o0it's the half thread thing that confuses me:confused: rounds to 4 or 5?

Dark Shikari
3rd June 2008, 03:11
Thanks you, but I do know the difference, I was referring to the detected section
Oh, OK, what's wrong with using sse3 in x264 then?We just haven't found any other use for SSE3 at the moment.

Inventive Software
3rd June 2008, 03:50
It'll likely round upwards if it follows the math laws, or downwards if it follows computer laws.

SSSE3 on an Athlon likely isn't optimised very well compared to the Intel CPUs. Don't take what x264 detects as a given as to what it uses. Just because it says it has it doesn't mean it'll use it, SSE3 being a good example. Instructions introduced with SSE3 haven't been able to show any speed increase over SSE2 or SSE or MMX equivalent routines. Don't ask about SSE4 either: :search:

foxyshadis
5th June 2008, 17:14
SSSE3 on Phenom? No way, they have SSE4a (as opposed to Intel's SSE4.1), but no SSSE3. Maybe ffdshow's capabilities test is slightly broken, but at least it isn't crashing.