DV Info Net

DV Info Net (https://www.dvinfo.net/forum/)
-   What Happens in Vegas... (https://www.dvinfo.net/forum/what-happens-vegas/)
-   -   Why is CPU not going for 100%? (https://www.dvinfo.net/forum/what-happens-vegas/93014-why-cpu-not-going-100-a.html)

Lars Siden May 2nd, 2007 12:12 PM

Why is CPU not going for 100%?
 
Hi guys,

Done my first HDV editing in vegas today. The edit went fine and smooth.

But when I render to WMV my dual core cpu tops 65% usage on both cores...why? I'd like to see close to a 100% for maximun performance. I mean my striped Raptors disks won't slow the render down.

As a programmer myself my conclusion is that the render code, either in Vegas or in the WMV codec isn't very well adapted for multi-cpu/core rendering?

I've tried changing max nr of render threads from 4 to 2 and back.

Ideas?

// Lazze

Matthew Chaboud May 2nd, 2007 12:51 PM

I can assure you that there are likely more threads than an "outside the app" view would initially have you think.

They're also fairly good at using up the available cores (up to the 4-6 range), but, as you've guessed, *some* compressors are less thread-happy than others.

The issue here is that the engine and system as a whole have to be able to work on a lot of different hardware configurations and project types, and they can't be fully optimized for any one configuration or project.

Throw a color-corrector on your media and watch your CPU usage (and render time) climb.

Lars Siden May 3rd, 2007 08:06 AM

Of course there are more threads - but in Vegas you can say "how many render threads". Usually when a program doesn't use close to 100% cpu(when intended to) - it means that you work with too small buffers, thus interrupting real work with too much I/O.

I used the latest version of nTune today and are now running a healty 20% overclock - gaining me some precious rendertime!

I've also installed 7.0e - will see if that makes a change!

// Lazze

Dave Haynie May 7th, 2007 07:31 AM

One reason is...
 
Quote:

Originally Posted by Lars Siden (Post 671457)
Done my first HDV editing in vegas today. The edit went fine and smooth.

But when I render to WMV my dual core cpu tops 65% usage on both cores...why? I'd like to see close to a 100% for maximun performance. I mean my striped Raptors disks won't slow the render down.

If you're not seeing 100% CPU, that means something that your render is dependent on is the bottleneck, such as I/O (disc or network), not the CPU itself.

I recently found this to be the case, and an actual problem, rendering on my dual-core machine. I had everything in the project on my 3-drive disc array, and I was seeing weirdness in Vegas 7 I had never seen in Vegas 6. For one, there were considerable parts of a WMV9/HD render that were NOT driving the CPU to 100%, and the renders were taking really, really long. I tried rendering instead back out to CineForm HD, but the results were essentially the same.

So I figure, where could that dead space come from... about the only answer is disc I/O. So I tried a render out to another drive (a 2-disc Windows stripeset), and the render finished in 2:20... previously, I had only made it about 20% through in twice that time.

Now, think of this... my project had CineForm HD files (40-50GB worth), numerous stills as 6MPixel and 10MPixel JPEG from digital SLRs, and I was rendering out to fairly large files. What was pretty obviously happening was, with all those data sources, a fairly heavy component of the rendering time was eaten up in drive seeking.

Coming from an audio background, this should have been obvious, but it's just been so long since you could do anything interesting in media creation on a PC and NOT have the CPU be the limiting factor. I think the improvements in MPEG-2 handling in Vegas 7 over Vegas 6 made this manifest, though I was probably getting longer renders under Vegas 6 as well going across the same drive, it just wasn't as obvious.

I just discovered this... obviously, increasing RAM buffering in Vegas, if possible, should also help here. But if you're seeing CPU at less than 100%, you're definitely finding a bottleneck other than your CPU for that render. Particularly on arrays, you want big buffers for I/O as much as possible, and until the CPU becomes the bottleneck again for media rendering, going from input disc to separate output disc is going to make your renders faster.

Quote:

Originally Posted by Lars Siden (Post 671457)
As a programmer myself my conclusion is that the render code, either in Vegas or in the WMV codec isn't very well adapted for multi-cpu/core rendering?

If it's just a multi-threaded rendering issue, you should see one CPU constantly pegged, maybe the other dropping off or even idle. Though I think the multithreaded rendering is a Vegas thing, not something the individual CODEC can control. What I see is both CPUs pegged on areas that have lots of rendering going on (pans and zooms in still images), then both drop when I get to the video rendering. If you're doing HDV or even more likely CineForm HD as an input, I bet things speed up if you render out to another drive.

Even at that, you may just find you're disc bound on simple rendering stuff. Surprised me, but that's definitely what I found, at least within the confines of my experiments to solve my rendering problems.

Matthew Chaboud May 7th, 2007 08:13 AM

Lars, if you mean to say that we use too little buffering between the rendering and compression threads, I'll show you this:

1920 * 1080 * 4 * 30 = 237MB... Per second.

How long do you want the app to store ahead? Any deep buffering optimization would benefit smaller projects, rather than bigger/longer ones. Those smaller projects would already be faster than the longer ones, so it seems like optimizing for the corner-case.


A disk bottleneck is a disk bottleneck, period. A 3rd-party compressor bottleneck is the same way.

Lars Siden May 8th, 2007 02:44 AM

Thanks for your input guys! I do understand that we're talking huge amounts of data.

I'll build a new disk config using 2 seperate stripe sets on different controllers. On for source and one as render destination.

My current set of 150gb Raptors give me about 150 megabyte/sec continuouesly. I check what load they are under during render.

Looking forward to my new platform with a Quad Penryn :-) Hopefully arriving in august.

//Lazze

T. Pham June 17th, 2007 12:22 PM

Hi,
I have an interesting finding (for me, maybe):
I have 3 project files, when i rendered them individually, CPU ran at 100%,
but when I nested them on a new time line,(new file) CPU ran at only 50-80%. To clarify this, I selectively rendered a 1 min portion in the two conditions and the result was the same, 100% vs 50-80%. Time wise, it took 131 sec to render in nested file, and 110 sec in its own file. (about 15% dif)

Can anyone pls verify and explain this?

My system: 3.3GHz (oc with Zalman, 59 C load) OS: scsi 10k, In: SATAII, 7200, Out: ATA100, 2gig dual ram, Vegas 7d.

Danny Fye June 18th, 2007 04:26 AM

Quote:

Originally Posted by Lars Siden (Post 671457)
Hi guys,

Done my first HDV editing in vegas today. The edit went fine and smooth.

But when I render to WMV my dual core cpu tops 65% usage on both cores...why? I'd like to see close to a 100% for maximun performance. I mean my striped Raptors disks won't slow the render down.

As a programmer myself my conclusion is that the render code, either in Vegas or in the WMV codec isn't very well adapted for multi-cpu/core rendering?

I've tried changing max nr of render threads from 4 to 2 and back.

Ideas?

// Lazze

I did some tests that gave some interesting results.

If I set the options in video so that 'Dynamic RAM Preview max (MB):' is set to 0 then the CPU usage will be around 50%. If I make it a one, then CPU usage will be 80 to 90%. Doesn't matter if I render to Mpeg or wmv.

Also with wmv, if I start a render, cancel and then start the render again, the CPU usage will go down to 50 to 70%. If I then close the Vegas project and then open it again and then render it again the CPU usage will return to 80 to 90% again. It doesn't matter if I change anything or not.

Seems a bit strange that there would be less CPU usage just because one stopped the render and then started it again.

Reasons for stopping is that sometimes I have to re-check my settings or I see something that I missed in the editing that needs attention. Even so, without making any changes at all, it will still use less CPU if I stop the rendering and then start it again. The only way to get the CPU usage back is to close the project and then open it again. If I don't get the CPU usage back up the rendering time will be longer.

Danny Fye
www.dannyfye.com
www.vidmus.com
www.vidmus.com/scolvs

Kris Bird July 20th, 2007 02:53 PM

Has anyone gotten to the bottom of this?

On my machines, setting Dynamic Ram Preview Max to "0" makes timeline editing SUPER fast, while having it above 0 makes it stutter, generally less responsive.

However, at "0" my renders cap at 50% cpu utilisation (all my machines are dual-core)... when set anything above 0 the cpu utilisation jumps from between 80 and 100% (depending on the complexity of the project, obviously hd vs cpu bottleneck).

So, we change the values for playback and render. Totally weird, but been too busy to investigate further.

What's going on?

Steven Thomas July 21st, 2007 08:36 AM

Any more info on this?

May need to go to Sony's forum and ask if others are seeing this issue?


All times are GMT -6. The time now is 11:49 PM.

DV Info Net -- Real Names, Real People, Real Info!
1998-2024 The Digital Video Information Network