Log in

View Full Version : CCE scales poorly on P4 machines faster than ~2.4gHz.


Stereodude
2nd January 2003, 16:13
I've been having issues with CCE. I have a P4 2.4b. I also have some watercooling on it and the urge to overclock. I am currently running 3.06gHz (170Mhz FSB with DDR memory at 340Mhz). The machine is stable (passes prime95 and every other test). I'm running Win XP Pro the latest build of CCE 2.66.0.7.

Here's what I posted in another thread ( http://forum.doom9.org/showthread.php?s=&threadid=41570 ) since it outlines very specifically the issue that CCE has.I put a partition on the very front of my WD2000JB. I put the AVI file (HuffYUV compressed) that I'm encoding in this partition and it is the only file in that partition so there is no fragmentation. The drive can sustain 56.5MBytes/sec reading this file. That is at least 5x what's needed to play it real time. I can encode it to the tune about 1.05x or so. CPU usage averages about 82%. If I put the file on the end of a slower HD (WD800JB) where sustained performance is lower (29.2Mbyte/sec) it encodes slower (about .9x) and the CPU usage is proportionately lower.

I've been using the performance monitor in XP to watch disk utilization and other performance variables. Neither of the two drives are really being stressed. They still have over 75% idle time.

Now to eliminate HuffYUV as the problem I output a uncompressed 24 bit AVI at the same resolution (720x480) to the WD2000JB and the performance is abysmal at .25x or so. The HD is fast enough to easily play the file in real time, but still the lack of compression was very detrimental to CCE's speed.

I performed another test. My machine has 1 gig of RAM in it. I trimmed down my test file to about 500 meg (so the entire file could/would be cached). CCE then tears through file using 100% CPU the entire time it reports speed above 1.2x. It's still climbing at the end of the clip.
I've also done some testing at 2.4gHz. The same effect is noticable if the source file is fragmented or on a slow drive. If the file is unfragmented and on the front of a fast drive at 2.4gHz it will sustain 100% CPU usage. However, at 2.4gHz if the file to be compressed falls at the end of a drive (slowest part of the drive) or has fragmention occuring in it CCE will not be able to sustain 100% CPU usage either.

I've ruled out memory BW as the source of the problem. The Asus P4PE board I'm using allows the memory multiplier to be adjusted. Running 2.4gHz with a 266MHz memory bus and 2.4gHz with a 355MHz memory bus yeilded the same results. My memory is running at 2-2-2-2-6 BTW (very agressive timings) in all tests.

CCE seems to be fairly poorly written for how much it costs.

Stereodude

Stereodude
3rd January 2003, 21:22
I was able to get 100% CPU usage by switching to PicVideo's MJPEG codec @ 20 and setting it to force YUY2 output. CCE will saturate the CPU at 3.06gHz and encodes at a blazing 1.83x (DVD spec 720x480 4 pass VBR).

Stereodude

Arky
5th January 2003, 01:44
Interesting, but can you tell for sure that this increase in CPU uptake is not at least partly due to increased codec decoding overhead?

I'm not saying it is, I'm just posing the question.


Arky ;o)

Stereodude
5th January 2003, 02:06
Originally posted by Arky
Interesting, but can you tell for sure that this increase in CPU uptake is not at least partly due to increased codec decoding overhead?

I'm not saying it is, I'm just posing the question.


Arky ;o) Yes, I can tell for sure. There is less a 3% difference in CPU utilzation between PicVideo MJPEG @ 20 and HuffYUV. But yet there was a 70% speed up by going to the PicVideo codec.

Stereodude

WorldBook
5th January 2003, 04:17
A bit off topic Stereodude, but have you had the chance to test out TMPGEnc Plus?

Stereodude
5th January 2003, 08:33
Originally posted by WorldBook
A bit off topic Stereodude, but have you had the chance to test out TMPGEnc Plus? What specifically? It uses 100% of the CPU, and is a lot slower than CCE. It runs about .3x.

Stereodude

Adder_78
5th January 2003, 13:52
you got very low speed with CCE...

I got with avisynth-files 1.5X speed with my P4 2.53 and CCE 2.5...

I use these lines in avs-file:


LoadPlugin("C:\mpeg\MPEG2Dec3.dll")
mpeg2source("C:\Movie\VIDEO\movie.d2v",idct=5)
ResampleAudio(44100)


That "idct=5" is for P4(SSE2)...

[the source is DVD -> dvd2avi=*.d2v]

Zzzzzzzzz

Stereodude
5th January 2003, 19:35
Originally posted by Adder_78
you got very low speed with CCE...

I got with avisynth-files 1.5X speed with my P4 2.53 and CCE 2.5...

I use these lines in avs-file:


LoadPlugin("C:\mpeg\MPEG2Dec3.dll")
mpeg2source("C:\Movie\VIDEO\movie.d2v",idct=5)
ResampleAudio(44100)


That "idct=5" is for P4(SSE2)...

[the source is DVD -> dvd2avi=*.d2v]

Zzzzzzzzz I don't encode directly. Because I'm doing multiple passes it is faster to go to an interim file. I use a file that is 720x480 and it runs around 1.83x. If you used the same method I am it would run slower than mine because your machine is slower.

Stereodude

Adder_78
5th January 2003, 19:53
Originally posted by Stereodude
I don't encode directly. Because I'm doing multiple passes it is faster to go to an interim file. I use a file that is 720x480 and it runs around 1.83x. If you used the same method I am it would run slower than mine because your machine is slower.

Stereodude

Sorry I didnt get it? So you dont encode directly those avi-files("PicVideo's MJPEG codec @ 20") with CCE?


Zzzzzzzz

Stereodude
6th January 2003, 00:22
Originally posted by Adder_78
Sorry I didnt get it? So you dont encode directly those avi-files("PicVideo's MJPEG codec @ 20") with CCE?


Zzzzzzzz No, I do. I said I don't encode directly like you do. It looks like you feed the AVS file into CCE (ie: framserving directly to CCE). I frameserve to Vdub and make an AVI in Vdub. I then feed that AVI (with MJPEG compression) into CCE.

Stereodude

Adder_78
6th January 2003, 09:29
Originally posted by Stereodude
No, I do. I said I don't encode directly like you do. It looks like you feed the AVS file into CCE (ie: framserving directly to CCE). I frameserve to Vdub and make an AVI in Vdub. I then feed that AVI (with MJPEG compression) into CCE.

Stereodude

ok now I get it :cool:

But why?
Try that my method instead? You dont have to make MJPEG-avi... I know its should be much faster to encode directly avi than avisynth-files in CCE but still... :rolleyes:

Zzzzzzzz

Stereodude
6th January 2003, 12:56
Originally posted by Adder_78
ok now I get it :cool:

But why?
Try that my method instead? You dont have to make MJPEG-avi... I know its should be much faster to encode directly avi than avisynth-files in CCE but still... :rolleyes:

Zzzzzzzz Because I'm not encoding from a DVD. That's why. I'm encoding from HDTV. Doing 5 passes (1 VAF and 4 passes) wouldn't be pretty. My 3.06 struggles to decode and process HDTV at more than 12fps. If I don't use an intermediate AVI file I have to decode the HDTV all 5 times and that's a huge waste of time. I did some rough calculations in another thread and making an intermediate AVI file is at least 2x as fast (in the end) as it would be to frameserve directly.

Stereodude

Adder_78
6th January 2003, 20:38
Originally posted by Stereodude
Because I'm not encoding from a DVD. That's why. I'm encoding from HDTV. Doing 5 passes (1 VAF and 4 passes) wouldn't be pretty. My 3.06 struggles to decode and process HDTV at more than 12fps. If I don't use an intermediate AVI file I have to decode the HDTV all 5 times and that's a huge waste of time. I did some rough calculations in another thread and making an intermediate AVI file is at least 2x as fast (in the end) as it would be to frameserve directly.

Stereodude

okey...:cool:

Zzzzzz

rumba
10th February 2003, 00:49
Hi,
I have P 2.33Mh on Asus PB533 & 256MB, 40GB 7200 IBM HD.
using CCE I get in good case 0.544 !
TMPG is mutch faster!
I am doing something wrong...
should I post any INI file so someone can take a look and guide me?