PDA

View Full Version : Dual CPU's and VirtualDub


alex jackson
11th June 2002, 12:28
Hi

Does anyone have experience using a dual CPU system for VirtualDub operations and DivX encoding? The benchmarks on Tom Hardware show that DivX endcoding with Xmpeg benefits greatly from a dual CPU system, is the same true for VDub?

Alex

Acaila
11th June 2002, 13:57
VDub isn't SMP capable, but it does seem SMP-aware to some extend. I haven't tested the speed of using both processors against turning one off, but when using DVD2AVI->Avisynth->VDub I get about 90-95% (1st pass) and 80-90% (2nd pass) cpu load on both cpu's. This would indicate that it's definately faster than using just one processor.
Once you lay higher priority on one of these applications instead of evenly distributing it you'll see a drop in cpu load. E.g. using a TempSmooth in Avisynth severly slows down Avisynth's processing, and average cpu load drops to 60-70%, which isn't much better than just using one processor at 100%.

The 10-15% cpu load that you'll have left while encoding with this method can be a godsend if you want to do other stuff besides encoding, like surfing, burning a CD, etc. I just love the fact that I can a million other things even while I'm encoding a video, where before with one cpu the other things would move at a snail's pace and it was better to just leave it alone.

XMPEG was made to take advantage of SMP so you'll probably see 100% load on both cpu's (I haven't tried it yet).

alex jackson
11th June 2002, 14:52
Very interesting. If VDub isn't SMP capable, does this mean that it is working something like having one cpu doing the work for Avisynth and one for Vdub/encoding. You might expect that when Avisynth has do do more work e.g. TempSmooth that the one cpu would be ~100% and one would be lower since it might be "waiting" for the slower part in the chain. Unfortunately I don't know much about the technical aspects of SMP computing so my assumptions might be all off whack.

What differences in fps do you generally see when e.g. resizing in Avisynth and encoding with DivX 5 in VDub?

I suppose the other option to getting a dual cpu system is to split the cash and get a second PC with a minimal setup just for video work.

Acaila
11th June 2002, 16:02
If VDub isn't SMP capable, does this mean that it is working something like having one cpu doing the work for Avisynth and one for Vdub/encoding.
That's what we think yeah.
What differences in fps do you generally see when e.g. resizing in Avisynth and encoding with DivX 5 in VDub?
What do you mean by differences? Differences between what?

alex jackson
11th June 2002, 16:59
What I meant is, what is the change in frames per second you see between having one CPU and two for the same job e.g. resize and encode.

Acaila
11th June 2002, 19:06
It's not like I can just easily turn one cpu off, measure the speed, turn both on and measure the speed again.

But I can give you a simple calculation:
Suppose you have a single cpu-system encoding at 25fps.
Now you have a second system, dual cpu's, and you get an average load of 90% over both cpu's. In total that would amount to 180% of a single cpu. So 180% of 25 fps = 45fps.

alex jackson
11th June 2002, 20:37
Thanks Acaila.

fisix
12th June 2002, 11:53
hmm. virtualdub in itself doesn't have to be multi processor aware, the codec and filters and other pathways do. vdub could help the situation by organizing threads in some load balanced way, but i think most of the help comes from how the helpers are written. i think if you are looking for a speed up, rather than search for something concerning vdub, look for news about the codec you are using or avisynth or some filter plugin. thats where the true speed up will come from. one of the only encoding gui's (i know vdub is more than that, bare with me) that truly was mp 'aware' was fair use. all it did was try to run each complete pass on a different cpu. fortunately advances in the codecs have made it somewhat obsolete (i always thought it was horribly slow).

-fisix

Oneiroxy
19th June 2002, 03:15
I find it better to use two different instances of VDUB and assign 1 CPU on each occasion (through "affinity" settings). This is has even better results if you have several HDs and use for each VDUB occasion a different one! 1 instance of VDUB will utilise 70-75% of both CPUs which leaves 25-30% unused! During two VDUB instances 100% is used and you utilise the left-over CPU time for the second movie, resulting to 25% reduction in the "Total Time" of encoding both movies. Acaila: It's not like I can just easily turn one cpu off, measure the speed, turn both on and measure the speed again.
If you modify your Boot.ini as described here you can very easily run your rig on 1 or 2 CPUs at start-up.