Confusion regarding CPU & rendering

ghost072 wrote on 12/11/2003, 10:01 AM
Hello all,

I have read a couple of the threads regarding reported CPU usage during Vegas/DVDA renders and most people report 50% to 100% usage. What is strange is I never see Vegas or DVDA go over about 20%, usually they hover around 2-4%. Is this good or bad? My render times don't seem to be bad, though sometimes the same operation (simple cuts, no effects or transitions) take more time than others, and running other programs seems to really increase the rendering time, even though I am using hyperthreading.

Also, when everyone is quoting CPU %, you are referring to the number under the CPU column on Task Manager/Processes, correct?

ASUS P4P800 Deluxe
P4 3.00c
1 Gig DDR400

Comments

ScottW wrote on 12/11/2003, 12:27 PM
While rendering is very processor intensive, it is also very disk I/O intensive. Your low CPU utilization is probably more of a reflection of slow I/O performance than anything else. Vegas simply can't move the frames to and from disk fast enough to take full advantage of the availble processor horsepower.

What sort of a disk setup do you have?

I don't know about everyone else, but any time I'm looking at CPU utilization I'm using the task manager monitor - usually the performance tab if all I've got running is Vegas.
ghost072 wrote on 12/11/2003, 2:37 PM
First, thanks for the response...

I have two WD drives, the Master is a 100GB 7200 RPM and the Slave is 200GB 7200 (8 meg buffer) drive. All my video stuff is on the slave and I do not use any RAID functionality (though the MB supports it, I'm afraid to convert with all my data on the drives).

I suspect you are right about the disk I/O being the problem, but I have no idea what to do about it. I am running relatively low on free space on the Slave, around 35 GB free - plenty of space normally, but percentage wise not a lot. Any idea where to start troubleshooting this? I could measure my disk read/write performance with SisSoft Sandra, if that would help.
ScottW wrote on 12/11/2003, 2:56 PM
First, if you're happy with your render times, you'll need to decide if any further investigation and/or monetary investment is really worth it.

I've got a 4 disk Raid 0 set and even as fast as it is, I can't keep the CPU 100% busy during render (2.8Ghz P4, Hyperthreading and 800MHz FSB with dual channel PC3200 DDR).

Here's one cheap/free thing you can try - put your source and destination files on different drives. That is, if your .AVI files are on your D: drive, when rendering direct the output to the C: drive.

Another freebie - most motherboards have an IDE controller that will support up to 4 drives. Take your slave drive off of the same IDE channel that your system disk is on and make it the master on the other channel - then try the test with the source/dest drives being different.

It's really hard to say how much if anything you'll be able to squeeze out of the free options.

As far as RAID goes, the next cheapest thing would be to pick up 2 more drives and put them on the RAID controller as a RAID 0 set. You can get 120GB drives with 8MB cache for around $90 each.
ScottW wrote on 12/11/2003, 4:16 PM
Also don't forget to check the basic stuff; use the device manager and pull up the properties on your IDE controller; make sure the "Use DMA if available" is selected. If it's not using DMA, check to be sure that you don't have DMA disabled in your BIOS.
Liam_Vegas wrote on 12/11/2003, 4:28 PM
It could be that your render CPU uitilization is low because maybe you are not doing a lot of effects or other things with the video? I guess that if you are doing mainly a "cuts-only" edit then the cpu would probably have a lot less to do.

A good check to satisfy your (and our) curiosity of your CPU usage vs rendering times would be to download and run the rendertest.veg from the sundancemedia site (look for the file named "Render Test" that should be about a third of the way down the page). Render the file direct as a NTSC DV file (I think using the BEST video quality setting) and report back on the render time and how the CPU utilization goes. That veg is very processor intensive I think. My system does it in about 1min 34 seconds I think and I have the exact same motherboard / processor as you have...

BillyBoy wrote on 12/11/2003, 10:28 PM
This has been gone over several times and some people still don't get it. What you see in Windows Task Manager is a report of how well Windows is utilizating resources and what percentage of raw CPU horsepower each task is taking. Generally, less is more. It shows your system is loafiing along meaning it has plenty of reserve.

Time for one of my silly analogies.

If I (a middle aged, out of shape dude that spends a lot of his time sitting on his butt and eating way too much fast food) would "run" around a 1/4 mile track, at the frinish, if I could finish, my heart rate would be sky high, I'd be really out of breath, and if I could measure the stress on my heart, I bet it would be close to 88% or more of capacity.

Now if some 16 year old on the track team did the same thing, he probably wouldn't break a sweat.

Who's heart was working better?

a.) mine running at 88% capacity
b.) his at maybe 50% capacity

I hope you picked b.

Same with computers. IF they only need 50% resources to get the job done, that's GOOD, not bad. What effects it also is how much memory you have, what if anything else you're doing and the speed of your CPU. If you have a fast CPU and ample memory, Vegas can't tax the CPU so it won't tie up that much of its resources. The acid test is to do the render test others suggested and also see if your PC is sluggish when rendering. If it is, then worry. If not, don't.

I'm going on a diet. Well maybe after the holidays. ;-)
vicmilt wrote on 12/12/2003, 4:05 AM
With respect to CPU capability - Vegas is optimized for Hyper Threading (HT). I have yet to break down and buy a new computer with this technology. Has anyone running HT noticed an appreciable improvement? In what areas?
ScottW wrote on 12/12/2003, 5:31 AM
With all due respect, your analogy is flawed. Your implicit assumption is that you both ran the lap in the same amount of time. Given this, how fast could the 16YO have run the lap if his heart was also running at the capacity your heart was running at?

If my CPU is only running at 50% of capacity, it means that there's an extra 50% that could potentially be available to do some useful work. The trick is how do I get access to that unused 50%.

Memory is certainly one aspect of the equation, but rendering is not a particularly memory intensive operation. It's CPU intensive and I/O intensive.
JJKizak wrote on 12/12/2003, 5:47 AM
Vicmilt:
The improvement is exactly 12.4% faster per render. I ran many experiments on 5 minute videos with pans, zooms, transistions and FX's.

JJK
BillyBoy wrote on 12/12/2003, 7:01 AM
The flaw actually is wrongly assuming a application that uses near 100% of a CPU's capaciity is a good thing. When that happens you can't use your computer for anything else and it becomes very sluggish. Even if you only have Vegas or any application for that matter running alone, to look at resource allocation and say to yourself why don't it use the remaining 40 or 50% or whatever is left is simply not understanding how computers work.

As I've said probably at least a 100 times already in this forum the main element in rendering is a CPU's raw horsepower. So obviously the faster your CPU's clock cycle the less tme it takes to render.

What I'm trying to correct is the wrong assumption that some people think when they see less resources committed to any task for example Vegas using 50% capacity verses 80, 90 or 98% capacity that there is some settings or switch they need to fix. There could be, but far more likely there isn't.

As I've bumped up both by CPU's clock speed and increase memory in multiple steps as I've used Vegas in the past couple years I've noticed two things. As the CPU's rated speed goes up, render times go down and so too sysem resource allocation which also is impacted by memory.

Without getting very technical my oldest system a little less than a 1 Ghz P3 with 512 MB RAM used 97% system resources at it took about 2.5 times longer to render a project then my latest system, a P4 with HT and 1 GB RAM overclocked to run at about 3.3 Ghz. Its system resource allocated dropped to under 50% and it flys along doing the render test you can try yourself on SPOT's site in roughly 3 tmes LESS time.
ScottW wrote on 12/12/2003, 10:13 AM
In reality your CPU is running at 100% all of the time. If you take a look at the task manager processes tab you'll see a process called "System Idle Process" - this is the process that runs when nothing else is executing on the CPU - it's priority is lower than low, so any task will take priority over it.

The performance graph tab is basically showing the % of CPU time that is not spent inside of the system idle process.

If rendering is as CPU intensive as you claim, then assuming no other bottlenecks, the MainConcept encoder should be able to consume 100% of the CPU. The fact that your CPU is not running at 100% during a render says that there is something else going on which is preventing the encoder from executing. The something else going on could be slow memory, slow bus speeds or slow disk I/O. Of these, slow disk I/O is probably the best candidate.

I just did a quick test on my system - I've got a 2.8GHz P4 w/HT; an 800MHz FSB and dual channel PC3200 DDR - when I render, my CPU usage is typically running around 90%.

A test render of a short clip I just did took about 90% utilization and completed in 00:01:21

I then changed my disk from DMA mode to PIO mode. PIO mode is a slower access mode and also requires more CPU cycles to perform the same amount of work.

The second render test in PIO mode showed that I was spending about 30% of the processor time in the kernel (in DMA mode kernel time was less than 1%) and overall processor use dropped to 80%. So Vegas/MC went from using 90% to 40% and my render time went up to 00:02:22 - which is consistant with the reduction in processor time being used by Vegas/MC.

While the increased kernel time obviously had an impact on things, there was still some 20% of the processor time available for Vegas/MC to use - it wasn't using this available time because it was waiting on disk I/O.
BillyBoy wrote on 12/12/2003, 10:33 AM
Well duh... of course the CPU is "running" all the time as long as your computer is turned on. What Task Manager is showing is what Windows is up to with regard to what processes are going on.

Please don't try to put words in my mouth. I simply noted the relationship between CPU horsepower and how long it takes to render. The faster your CPU, the less time it takes.

How is tinkering with drive modes the fault of Vegas slowing down? It seems what you're trying to do at first arrive at a answer the reverse engineer your respond to try to "prove" it.

Anyone that want's their CPU 100% consumed with any task, doesn't really understand how computers are designed to work.

The "proof" I'm right is I get roughly the same render times you do, PLUS I still can run a bunch of other applications at the same time since my CPU usage of Vegas is usually just under 48% allowing another 52% for other applications to run at the same time.

Now who's working more efficently?

In case you care 3.3 (Ghz due to overclocking) FSB 1166 at 48% utilization.