Vegas CPU usage

SimonW wrote on 1/11/2005, 5:37 PM
I'm currently running Vegas 5b on a P4 3.2ghz MT CPU. I just noticed that although I am currently rendering out a video that has had some extensive Magic Bullet and other filters applied, and despite having set the quality to 'Good', it is still only using 52% cpu power!

Surely if it used the other 50% it would be a lot faster! Anyone know how I can make Vegas use the full power of the CPU to speed things up?

Comments

ScottW wrote on 1/11/2005, 5:41 PM
You are probably being constrained by one or all of the following:

FSB speed
Memory speed
Disk Speed

Most likely it's disk speed, especially if your source and detination are on the same drive - sometimes there's a good reason to have a couple of RAID 0 sets.

--Scott
Orcatek wrote on 1/11/2005, 7:17 PM
Are you using hyper-threading? That can lower total CPU use if the video/audio combo is such that it doesn't tax the two halves.
BillyBoy wrote on 1/11/2005, 7:59 PM
Such a common misconception... The LESS of your CPU'S resources used for any single task the better. Many people get it backwards. If you have XP go to Task Manager, performance tab and check the CPU percentage WHILE you're rendering. Since Task Manager by default is set to have its windows always on top, check the value before you start to render, then watch it spike once you start to render. The LOWER the number the better.

Example, if you see 55% useage that is better than 87% useage. The value reported does NOT report how well you CPU is doing the task of rendering, rather is shows how much of your CPU resources are tied up doing the assigned tasks you told it to do and what's overhead.

Example: On my system right now I have 44 processes running including Windows Explorer, Agent my news reader, a anti virus, anti-spam, DU meter, some network services because I have cable and since I'm writing this obviously a browser. My PC is loafing along using only 1% of its resources. If I open up Vegas and start to render a file CPU Usage jumps typically to 55% or so. That means I still have nearly half my system's resources to do other things WHILE Vegas is rendering. If CPU Useage jumped to 85 or 90% the system would be very sluggish and I wouldn't be able to do much else.
The_Jeff wrote on 1/11/2005, 8:15 PM
Actually the original poster is more correct. I don't want only 1% of the CPU used to encode an MPEG if it takes hours. I'd rather see it at 100% and finish in a minute.

Telling someone that their slow renders with low CPU utilization is a good thing is pretty misleading. I suspect that Orcatek is correct and that this machine has hyperthreading and that as usual Vegas is not really able to make use of the "second" CPU. Now if this is the case the good news is that the other 50% is not really "there" and there is usually only about another 10-30% of actual performance "boost" available even if the application were properly multi-threaded.

Also note that if the OS was not such a piece of garbage then as long as it is not using so much memory that it is swapping it should be able to use 100% of CPU for a render without feeling slugish. (If there was a decent scheduler).
BillyBoy wrote on 1/11/2005, 8:22 PM
You're talking apples and oranges. There is NO WAY to force Vegas to use more of your available horsepower. Many people for years have asked similar questions in this forum and elsewhere thinking something is "wrong" if not all their CPU's resources are engaged to do task X.

Low or less than ideal utilzation of a CPU's ability is not a user changeable function. If you think it is, then take all the space you need to explain how we can render faster. I assure you that you'll have everyone's attention if your method can make Vegas render a project in less time.
Grazie wrote on 1/12/2005, 12:39 AM
Nicely put William . . nicely put .. . ;)

G
Kula_Gabe wrote on 1/12/2005, 3:14 AM
If I don't need to do any thing else and have multiple things to render, I open 2 instances of vegas and render in both. CPU usage goes up near 98%, and the system becomes almost unusable. If I need to do anything I use my laptop while my desktop chews on video. I have been having problems w/ virtual memory, and HDV, and hi-rez stills, but I will save that for another post.

Aloha,

G
gordyboy wrote on 1/12/2005, 4:29 AM
G

Interesting idea. Is there any significant time saving in this 'parallel' form of processing of two instances of Vegas runing simaltaenously compared to the 'serial' approach of rendering one file to completion followed by the next file?

I haven't tested this but my gut feel is that the total time taken would be the approximately the same under both approaches, although admittedly it would be useful if rendering overnight (on occasion I have had to set my alarm to wake me in the middle of the night to set another file render going!).

I'd be interested to have your feedback.

Cheers

gordyboy
logiquem wrote on 1/12/2005, 7:34 AM
I tried this on a DVD project and got about exactly the same rendering time (2 instances with 50% of the project vs 1 instance with 100%).

BTW, if your system is correclty configurated with say, 512 Mo Ram, hardware other than cpu have no notable influence on rendering time really, cause it is simply much faster and the bottleneck is always at the cpu.
FrigidNDEditing wrote on 1/12/2005, 8:14 AM
here's the thing though, if you're using it to render mpeg, it takes more CPU usage. If you do it to render. AVI, it will only use about 50%. Try it rendering to AVI and see if it's the same.

Dave
SimonW wrote on 1/12/2005, 9:26 AM
Thanks for the replies guys. One odd thing is that the CPU usage doesn't go up even when I change the priority of the program.

Frigid, I'll give the AVI/MPG comparison a go.
flippin wrote on 1/12/2005, 9:28 AM
What is the current "best", i.e , fastest commercially available cpu configuration for video rendering--(assuming that Cray supercomputers are not generally available for this type of work)?

Lee
BillyBoy wrote on 1/12/2005, 10:37 AM
You'll get as many opinions as there are blades of grass in your lawn.

So here's mine:

Q. CPU: AMD or Intel?

A. Doesn't matter. Both are good. It really boils down to where we are at some point in time which has the latest greatest, fastest. Don't fall into the consumer trap that clock speed X is better than Y. For starters there is no such thing as a 2.8 or 3.2 chip. Surprise, surprise, surprise, its marketing hype to get Joe Average to cough off extra dollars. You want a "fast" computer, then they say get a P4 3.2, not a P4 2.8. blah, blah, blah. Let me explain the phonyness of that.
When a CPU is born, hatched, or however they come into this world they are all the same, however like grading eggs, where some are larger than others, its still a egg. So too with computer chips. Like eggs, they get graded. The chips that can stand up to a higher clock speed get labeled with a higher rating...just like larger eggs cost more chips with a higher rating cost more.

You may protest you like larger eggs or faster CPU chips. Sure. But why pay a premium? With a CPU you can overclock. If you're building your own system, today, with most MB's its a simple, couple minute thing. You can take that 2.8 rated chip and actually make it perform as well, maybe a tad better than that 3.2 and you pocket a savings that could amount to a couple hundred dollars for a few minutes work and then...

Use the money you saved to buy better (meaning faster) memory. Again, don't get fooled. Giant companies like "D" and "G" make pretty good systems, but they don't use the best parts. They cut corners. Using less then the best memory is one area they "cheat". Stop and think... Your PC can't do a thing until instructions are moved in and out of memory. This and the FSB are the major bottle necks, that slow down whatever you're trying to do, not just the CPU's clock speed. Jump up the FSB and install high speed memory (time to do: about a minute) and over the life of your system you'll save hundreds of hours rendering time, if that's what you're mostly using your PC for.

Chances are the "fastest commercially avaliable system" will be a dog compared to what you can assemble yourself. If you rather not, then using any number of custom houses to do it for you will give you a better, faster system then any "D" or "G" or any other prebuild system you can find. Period.

flippin wrote on 1/13/2005, 11:21 AM
BillyBoy,

That was a highly thoughtful and detailed answer to my obviously oversimplified question. Thanks very much for taking the time and trouble.

Any specific recommendations to the wary, novice pc-builder? What I mean is, if you personally were setting out today to build the fastest, most efficient pc for video editing--from whom would you buy components and what specs would they have?

Best regards,

Lee

BillyBoy wrote on 1/13/2005, 12:00 PM
Another longish answer.

The way I go about it and I've build dozens:

First decide on the processor. Like I said both AMD and Intel make good chips and they have been constantly leap froging each other as to who currently has the latest and greatest perfomer. There's always something "better" just over the horizion.

Next, if you're going to "build it" yourself decide if you want to get all or some of the parts off the web or all or just some retail. Avoid buying parts at a Best Buy, Circuity City or Compusa, they simply don't have enough selection to pick from. If you're luckly to have one of the super computer stores in your area like MicroCenter or Fry's then you can see a good selection.

Like some of us in this forum are obsessed with video editing, there are plenty of guys obsessed with tweaking and building PC's. They often put up extensive web pages running ten to twenty or more pages reviewing things like motherboards, overclocking, etc.. A hour or two spend reviewing such sites will help you narrow your choices down. A quick Goggle entering a few models of motherboards you're interested in such give you a good starting point. Most of sites also link to reviews of goodies and recommend sources to get some of the more hard to find parts.

Remember a good mother board and good memory are just as important as a "fast" CPU. Always get a bigger hard drive then you think you'll need. Better, get two.

To actually "build" your own, all you need is a screwdriver. Today, most cables are idiot proof, they only fit one way.

The things to watch for and where most screw up their first time around in either putting too much or not enough compound between the base of the CPU and the heatsink. Again, lots of web sites that show you the right way. Its very similar to putting down compound when you're doing a tile floor, if you error, error on the thin side. You don't want it oozing out the sides one you put the heatsink on the CPU. Use the edge of a credit card to spread and BE SURE you put it in the right place. The instructions that come with CPU show how. The biggest physical danger comes when you insert the CPU into its socket. They call it a 'zero force' socket for a reason. No force should be required. IOnce you position it correctly, it literally should drop in. It is VERY EASY to break off or bend one more pins. This is the one critical step you need to be extra careful and gentle. If you've never seen the bottom of a CPU chip, unlike other chips they have well over a 100 pins that have extremely close tolerance and are very thin.

Its been over a year since I build one, so I'll leave others to recommend and once you visit some of the hobbist websites you'll get plenty of recommendaitons.

Good luck.
kentwolf wrote on 1/13/2005, 12:11 PM
>>...If you've never seen the bottom of a CPU chip, unlike other chips they have well over a 100 pins...

I just built a new AMD Athlon 64 3500+ system, socket 939.

This CPU has *939* pins. That's a lot!

As BB said, it should go in with 0 effort, if aligned correctly.
psg wrote on 1/13/2005, 12:23 PM
Mostly likely you are only getting ~50% because hyperthreading is enabled.

I keep hyperthreading enabled (a BIOS switch) when I want to run something else and have Vegas render simultaneously. When I run rendering overnight. I disable Hyperthreading so I can use all the CPU resources. It does run faster (but not twice as fast).
Sunfox wrote on 1/13/2005, 10:20 PM
If you have a HyperThreading CPU, it's a common misconception that if you see one program only taking 50% resourses, that it is somehow running at half the speed it could be, when in reality the two virtual halves of the CPU you see displayed under "Task Manager" are not equal halves at all.

For instance, a non-multithreading application can only see one of the virtual CPUs and, even though it may use 100% of your CPU's total processing power, the Task Manager will still only show 50% of it in use. What it actually boils down to is that the first virtual 50% is actually nearly all of your CPU's total power, while the second virtual 50% is an insignificant portion. If you start up an email application or something the OS will begin to dedicate more of that second half to other processes, giving you totals higher than 50%, but Vegas will still be the primary resource hog.

Now, disabling HyperThreading *can* make non-multithreaded applications run slightly faster, but only to the tune of a few percent (and of course this will make doing anything else while rendering somewhat less responsive).
BillyBoy wrote on 1/14/2005, 7:54 AM
Holy Cow Batman, this thread is getting oh so confusing to many I bet.

If you really want to understand the science and can seperate the marketing hype, this is one place to start.

http://www.intel.com/technology/hyperthread/

nickle wrote on 1/14/2005, 8:47 AM
There is more involved in Windows than has been mentioned.

Windows is "multi-threading".

If my cpu is 100% when I render (which it is) and I open another program, Windows will allocated threads to the new program (running in the foreground) and less cpu use to the background program.

So I can multi-task with good performance.

The more processes, the slower the render, but still, all processes get a share. And all run fine.

The hyperthreading thing? I'm sure it uses all it's horsepower whatever it says.
flippin wrote on 1/14/2005, 8:51 AM
Thanks for the interesting link, BillyBoy. Ironically, it appears that this very discussion topic is starting to hyper-thread. "Life imitating Technology". hmm

There must be differences in various software's ability to make efficient use of hyper-threading processors, no?

Best regards,

Lee
BillyBoy wrote on 1/14/2005, 9:43 AM
It can be a very interesting but equally confussing topic. Just from memory (so I may have some out of order or wrong)

The latest CPU's can divide up a task so some sections of the inner workings of the chip are handed off tasks while other sections do something else. Where it gets confusing is some applications like Vegas may have different things going on while at the same time under Windows, other tasks are also being multi threaded. So you can have multi threading (multiple applications running at once) and hypethreading (splitting up of some specific function) divided internally by the CPU, so something like some human walking and chewing gum at the same time.

You further need to understand the concept of a computer cycle. CPU's are controlled by a crystal that virbrates X times a second, many hundreds of millions of times... The higher the CPU's rating, the faster this is happening. During each "cycle" the CPU needs to "listen" for any device trying to get its attention, like you pressing a key on your keyboard, you moving your mouse, the hard drive wanting to read or write or the CPU needing to move things in and out of memory, etc..

In theory it sounds impressive. Real world, there is a lot of down time during each cycle. Bottlenecks include waiting on the hard drive, or trying to move instructions or data in and out of memory which can get slowed down if the handling speed of the bus (how the CPU is able to talk to your memory) isn't very high or if you're using slower rated memory.

Each cycle the CPU has to do X number of things including polling all the IRQ's to see what devices are requesting to be serviced. If its waiting on slow memory or sluggish disk access or Windows is overly switching things between your hard drive a memory a lot of variable time in each cycle is wasted while the CPU isn't doing anything but waiting. Hyperthreading or things like it, help some, but only if the application is well written to use the CPU or a second one if your system has it. Some application take better advantage of hyperthreading then others do. How Vegas ranks, I have no idea. Others in this forum have suggested not that well, yet I don't recall seeing specifics, so I think we're really talking opinion over actually repeatable tests you can try.

Windows is written in such a way that as you use your computer its resources (what Windows sets aside of your memory for its own use) get used up, meaning tied up doing task X, Y or Z. In a ideal world once you're done using application "X" it is suppose to release all its resources and give them back. Doesn't always happen, and no surprise Windows itself hogs memory it doesn't really need any long too.

So... the longer you leave your system on without rebooting the more sluggish your system is likely to get. While things are much better in XP, they are far from perfect. So if you have a larger rendering project you're going to run overnight, or just need something to get done faster, you probably will help things along by FIRST rebooting, which forces Windows to refresh all its resources and start with a full complement of resources. In my own experiments long ago, so I'm fuzzy on the exact percentage, I think I cut off about 10% of the rendering time by comparing how long file X took to render when doing so without rebooting, then repeating the same render after rebooting. Your mileage may vary.


riredale wrote on 1/15/2005, 3:45 PM
My own personal setup when I really have to get stuff rendered:

I run one to three instances of Vegas in the background. Each is rendering a portion of the whole project, and each is set to "idle" priority.

Then I either run a third instance of Vegas in the foreground and do my editing work normally, or I run another PC program. Because the rendering is at idle priority, I appear to have full control of the PC, yet the rendering gets done.

If I run more than three instances in the background, I think my system gets i/o bound, since my cpu usage drops.