FORUMS: list search recent posts

Multi core algorithms in Vegas....?

COW Forums : VEGAS Pro

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
Nick McMahon
Multi core algorithms in Vegas....?
on Feb 9, 2015 at 6:50:37 pm

I thought I'd come and ask this in the big boys forum... been reading up and researching hardware before spending money. Part of my serious consideration is buying a Mac Pro to run Windows 7 after looking at the system JR uses and paying heed to the fact that he changed from a PC to the Apple hardware and his level of expertise is a very valid pointer for a relative newbie like me who is looking for hardware config advise. However, I still want to understand more about the relationship between hardware and software to ensure that when I buy a computer system, I'm not wasting my money on overkill. It's very easy to fall into the trap of believing that 'more' cores must be faster.

With this in mind I went searching and came across this seemingly thorough review of all things Mac at a website by LLoyd Chambers and below is an extract I've copied here under the link to the source, which are his comments in relation to some bench marking he with Digital Camera RAW-file Processing.

http://macperformanceguide.com/index_topics.html#MacProNehalemShootout

Software engineering is the bottleneck

None of the RAW-file converters make full use of CPU resources. Put simply, this is the result of poor software engineering, notwithstanding the lame excuses you’re bound to hear from software vendors.

For the Mac-bashers out there: this is not an OS X limitation at all. There are well written programs that do make full use of all available cores, and two of them are included in this report.

Even the simple solution is not used

In the simplest approach, programs could process one RAW file per CPU core, with a worker thread delivering I/O services— but none of them do. They all are brain-dead on the algorithm: process one file at a time, in sequence. It’s an idiotic algorithm for a multi-core world.

Most of the programs use multiple threads, but with disappointing efficiency; they just do not scale beyond a few threads. The inefficiency is not related to disk I/O, both by observation as well as having these tests run on the fastest possible internal disk setup.

This lack of attention to efficiency is an engineering misfeasance in today’s market of multi-core computers where time is money for many professionals. Witness the stupid trick for DPP and stupid trick for Lightroom proving that if only there were a will to do so, performance could be raised natively
.

So it brings me to ask the question if anyone knows whether Sony Vegas Pro (x) is written efficiently enough to utilise all 12 cores of processing power that, in fact, you don't need to rob a bank to acquire these days....?

And if not, do any of the other NLE's do so...?

Nick... BASE1268

3...2...1...C ya


Return to posts index

Norman Black
Re: Multi core algorithms in Vegas....?
on Feb 9, 2015 at 9:53:54 pm

There are a lot of critics out there. Almost none that actually "do".

About multi-threading. Not all algorithms can be easily parallelized for multi-threading and some need excessive synchronization.

Speaking generally, image manipulation can be a very parallel implementation. Take a levels operation as an example. Every pixel is independent of the others and the pixels need no synchronization. Most effect like algorithms are like this.

About Vegas.
The decode operation of the source file is single threaded in Vegas. What this means is that if your CPU cannot decode a video stream in a single thread you will bottleneck. Commonly people have a 4-core hyperthread CPU so a single thread bottlenecks around 12-15% in your task manager.

With this the decode operation in Vegas will never saturate a 4-core CPU unless four video streams are being decoded. Note that a single crossfade on a track is two decode operations.

Effects. With GPU support disabled, Vegas will multi-thread for various effects. I have not checked which but I would suspect most all. I noticed this a while ago when I had to have GPU support disabled due to a conflict bug with an external plug-in. I heard my CPU fan crank up. Something I never hear with Vegas and GPU support turned on.

Which brings me to GPU. When GPU support is on, then the parallelism of the effects computations are done in the GPU and not in the CPU. In this case, if the GPU cannot keep full frame rate you will likely see the CPU utilization quite low. The CPU is really only doing video decode and you are bottlenecking in the GPU computations.

AMD GPUs seems to have the best performance with Vegas OpenCL effects.

Now you come to third party effects. Like NewBlue or Boris. Both of these use OpenGL for their GPU use. Vegas supports OpenGL mixed in with their OpenCL code but it may be causing some transition overhead.

Encoding a file: AKA "Render As".
This is mostly a pure CPU operation, more cores always help, and every encoder will perform differently. File encoding is one of those things that is not very parallel. With compromises you can force the issue.

The AVC best encoder out there is x264 and I have seen some benchmarks showing that is scales very well from 4-core to 6-core. It starts to run out of scaling performance after 6. Still faster but not the same bang per core as 4 and 6.

The only GPU encoders are Mainconcept AVC and Sony AVC. Mainconcept AVC only supports older GPUs. Sony AVC does not use the GPU for much. Motion estimation only it seems as ME can be a parallel algorithm. Both these encoders have completely separate GPU options to turn their GPU use on/off.

Note that encoding the file and generating the video stream are separate so Vegas will still be using GPU for effects and compositing the video stream. Generation of the output video stream is always done. Both playback and encoding.

In summary:
So without GPU support enabled Vegas will use cores but best playback edit performance will come with GPU enabled and a good GPU.

You always want fast individual cores since the Vegas decode is single threaded.

For max encode performance you want more CPU cores. You still want a good GPU for the effects/composite engine but extra cores should help encoding/compressing part. Remember that each encoder is distinct and some will scale better than others with more cores.

I encode using frameserving to ffmpeg/x264. Faster than the Vegas AVC encoders and better quality.


Return to posts index

John Rofrano
Re: Multi core algorithms in Vegas....?
on Feb 10, 2015 at 12:58:32 pm

Nick you are asking the right questions. In the case of Vegas Pro, your GPU makes a big difference. I have sat there with the timeline playback stuttering and CPU utilization is at 20% and GPU utilization is at 40% and I'm wondering why on earth one of them isn't pegged at 100% to smooth out playback? (and no it's not my SSD that is the bottleneck) I assume the CPU's are waiting on the GPU which is being underutilized. If I turn off the GPU, Vegas Pro will peg all 12-Cores at 98% for some render types so it depends on how well the software is written and the encoders are written by a variety of companies. Some make good use of available resources while others don't.

When I went from a 4-Core to a 6-Core I definite saw a bump in performance with Vegas Pro. I haven't really used Vegas Pro that much with my 12-Core yet and I did change graphics cards from a Quadro 4000 to a Radeon HD 5870 as well so more cores is not the only variable in the equation for my setup.

It should be noted that I did not move to a 12-Core Mac Pro just to run Vegas Pro. I bought a 12-Core Mac Pro primarily to use Final Cut Pro X. I also run Vegas Pro on it but that's not why I bought it. I'm creating training for Boris TV with Final Cut Pro X and my MacBook Pro was struggling with some of the BCC effects so I wanted a more powerful Mac to show the Boris plug-ins in the best possible light. Final Cut Pro X makes very good use of all the cores and GPU power that Apple builds into their Macs. It just turned out that the Mac Pro with it's AMD GPU's is a great computer for Vegas Pro as well.

~jr

http://www.johnrofrano.com
http://www.vasst.com



Return to posts index


Nick McMahon
Re: Multi core algorithms in Vegas....?
on Feb 10, 2015 at 2:04:44 pm

[John Rofrano] "I bought a 12-Core Mac Pro primarily to use Final Cut Pro X. I also run Vegas Pro on it but that's not why I bought it. I'm creating training for Boris TV with Final Cut Pro X "

Knowing what you do and having now spent some time researching Apple hardware it brought me to that conclusion John... :-)

As I now realise, the FCP X NLE is of course written for Apple hardware, so naturally it makes sense that it will make more efficient use of a 12 core machine and work in unison. I believe it's the only NLE software that also has it's own hardware...? Begs the question why Sony don't either build a machine for Vegas Pro to obtain ultimate efficiency or write a version of their program that makes efficient use of the hardware it's running on.

Perhaps a program module within Vegas that scans the system it's installed on and then implements the appropriate algorithms to ensure it works at maximum efficiency...? Not that I'm in any way a programmer and have no idea if that could even work, but it seems logical to me.

I think once I get my Mac pro of choice, I will most certainly be installing FCP X and trying out 2 identical projects to discover if in fact it works better for me than Vegas.

cheers

Nick... BASE1268

3...2...1...C ya


Return to posts index

John Rofrano
Re: Multi core algorithms in Vegas....?
on Feb 11, 2015 at 11:49:03 am

[Nick McMahon] "Begs the question why Sony don't either build a machine for Vegas Pro to obtain ultimate efficiency or write a version of their program that makes efficient use of the hardware it's running on."
Yes, it does does't it. Sony has a computer line called the Vaio. One has to wonder why no one in Sony can see what Apple does and duplicate there success. You would think that the answer to the question, "What computer is best for Sony Vegas Pro?" isn't "Sony Vaio of course!"
[Nick McMahon] "I think once I get my Mac pro of choice, I will most certainly be installing FCP X and trying out 2 identical projects to discover if in fact it works better for me than Vegas."
You have to be willing to forget everything you know about editing and learn how it's done in FCP X. If you try and make FCP X behave like other NLEs you won't get the full benefit. FCP X doesn't have tracks so it takes a different approach called the magnetic timeline but in the end, I feel it's a superior way of working with video. I still use Vegas Pro for photo montages and any closed captioning work so there are things that Vegas does better but that's the case with all software. None are perfect and you need to select the right tool for the right job. If someone asks me to do a photo montage I reach for Vegas Pro. I wish Sony would make Vegas Pro for Mac like they did with Sound Forge for Mac.

~jr

http://www.johnrofrano.com
http://www.vasst.com



Return to posts index

Nick McMahon
Re: Multi core algorithms in Vegas....?
on Feb 11, 2015 at 7:33:03 pm

[John Rofrano] "FCP X doesn't have tracks so it takes a different approach called the magnetic timeline..."

Interesting.... some weekend homework research for me... :-)

Quick question John : do you use a VM to run windows on your Mac..? I read somewhere that it performs better on a Mac inside a VM...?

Nick... BASE1268

3...2...1...C ya


Return to posts index


John Rofrano
Re: Multi core algorithms in Vegas....?
on Feb 12, 2015 at 4:15:00 am

[Nick McMahon] "do you use a VM to run windows on your Mac..? I read somewhere that it performs better on a Mac inside a VM...?"
Yes, I use VMware Fusion to run Windows 7 64-bit on my Mac and I use it for Vegas Pro. This is what it looks like integrated with the OS X desktop:



~jr

http://www.johnrofrano.com
http://www.vasst.com



Return to posts index

Nick McMahon
Re: Multi core algorithms in Vegas....?
on Feb 10, 2015 at 1:57:24 pm

[Norman Black] "In summary:
So without GPU support enabled Vegas will use cores but best playback edit performance will come with GPU enabled and a good GPU.

You always want fast individual cores since the Vegas decode is single threaded.

For max encode performance you want more CPU cores. You still want a good GPU for the effects/composite engine but extra cores should help encoding/compressing part. Remember that each encoder is distinct and some will scale better than others with more cores"


Many thanks for taking the time to answer Norman... plenty for me to try and also digest with the core of your reply.

[Norman Black] "I encode using frameserving to ffmpeg/x264. Faster than the Vegas AVC encoders and better quality"

I will certainly keep this in mind... better quality is surely always desirable especially if it comes with an even faster encoding process.

cheers

Nick... BASE1268

3...2...1...C ya


Return to posts index

Wilfried Van
Re: Multi core algorithms in Vegas....?
on Feb 15, 2015 at 7:39:05 am

Here using HP Z820 workstations with dual xeons ( 2 x 12 cores ) and 64 GB of RAM ( and some quadro's and SSD's , of course ) .
GPU Always OFF but RAM preview forced to 48 GB .
Pretty nice comfortable previewing in this case. Since vegas pro 12 , vegas also uses the RAM , which was not the case with all previous versions.

The fact that sony vegas pro is still thinking 32 GB RAM and 16 threads being the ultimate hardware being used for sony vegas , is not much pro nowadays. ( since some more years )

When , in internal prefs , I do increase those maximums to present available workstation levels ( 48 GB RAM , 40 threads ) , there is a boost of previewing capabilities ( GPU remains off ).
Unfortunately those settings have to be reset each time after restart and that's a pain .

So instead of adding useless features in new versions , I would rather like to see this basics to be attacked properly .

And you don't need mac when having worked on a hp z820 ( now even 840 ):-).


Return to posts index


Nick McMahon
Re: Multi core algorithms in Vegas....?
on Feb 15, 2015 at 6:04:14 pm

[Wilfried Van] "Here using HP Z820 workstations with dual xeons ( 2 x 12 cores )"

Whoa... that's some serious hardware... 24 cores !!!!!... In what circumstances would SVP make use of those cores..?

Does that give you the ability to preview without frame dropping even with FX...?

I'm way back down the scale in comparison to what you obviously do... however on the subject of HP workstaions there are several Z800 configurations I've seen at a very reasonable price.

Knowing what you do... if you had to set-up a Z800 for someone who wanted to become proficient with SVP beginning at Pro 12 and had a lower end budget of say 1300 euros (not including monitors) how would you configure it to get the best performance from Vegas... Oh and I've also posed the question in relation to a portable system in a laptop...

https://forums.creativecow.net/thread/24/986337

Nick... BASE1268

3...2...1...C ya


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2017 CreativeCOW.net All Rights Reserved
[TOP]