Optimized hardware platform for Vegas Pro processing efficiency

Jonathan-Burnett wrote on 9/20/2020, 10:41 AM

I realize this question has come up before and perennially as well but because Vegas continues to evolve, the answer is subject to change. Also, there's just a lot of conflicting opinions being shared elsewhere. For instance, in VP 18, you can set the maximum number of threads to as high as 48, yet some have posted that VP can use no more than 16 (threads, not cores). Within the documentation I've read from Magix, I've not found a definitive specification on what hardware VP can use.

So as we consider building new systems with options like the new RTX 3080/3090 or AMD NAVI and Threadripper CPU's, some factual understanding of what Vegas can use (and perhaps is road mapped to use) is essential to avoid spending in ways that won't really benefit video processing. Even the amount of memory that can be exploited seems ill-defined. 64GB or more sounds good until you read an article where an author proffers that VP won't use more than 32GB.

Do VP engineers read these kinds of questions as they should know what VP can exploit. Fact-based responses are really preferable to "opinions" though if users have actually benchmarked/studied this, that information would be beneficial as well.

Comments

fr0sty wrote on 9/20/2020, 11:48 AM

You always want to keep the max number of rendering threads the same as the max number of logical cores your CPU has (not physical cores, so if you have 8 cores that can hyper thread, you max out at 16 threads).

32GB RAM is fine for VEGAS, but not fine if you're running VEGAS and other apps at the same time, or multiple instances of VEGAS.

Last changed by fr0sty on 9/20/2020, 11:49 AM, changed a total of 1 times.

Systems:

Desktop

AMD Ryzen 7 1800x 8 core 16 thread at stock speed

64GB 3000mhz DDR4

Geforce RTX 3090

Windows 10

Laptop:

ASUS Zenbook Pro Duo 32GB (9980HK CPU, RTX 2060 GPU, dual 4K touch screens, main one OLED HDR)

Jonathan-Burnett wrote on 9/20/2020, 2:55 PM

Thanks Fr0sty, I appreciate hearing your thoughts. Now, as an example of differences of opinions regarding hardware that Vegas Pro can use, I point out these two different (but similar reviews):

https://www.guru3d.com/articles-pages/amd-ryzen-threadripper-2970wx-review,18.html

https://www.guru3d.com/articles-pages/amd-ryzen-9-3950x-review,18.html

I'm not inclined to believe his opinion that Vegas Pro is limited to 16 threads, for if that were true, why would VP developer's allow us to set the thread count to as high as 48?

Musicvid wrote on 9/20/2020, 3:42 PM

You shouldn't pay attention to what the internet says about "software" support for threads. It is irrelevant in most cases because it refers to the engine pipe, which never quite gets filled, if only momentarily.

The real, and only figure is the number of threads used individually in render, the bottlenecks being the engine (largest pipe), the filters (smallest pipe), and the encoder (varies). Often, that number is limited to a usable value of1, by a unithreaded filter (they are far from extinct). An example of encoder thread limitation is x264 (6-8 max) and x265 (12, even more with a favorable wind). Whether Vegas' fat pipe is 16 or 48, it matters not very much in the practical world.

Jonathan-Burnett wrote on 9/21/2020, 2:03 AM

You shouldn't pay attention to what the internet says about "software" support for threads. It is irrelevant in most cases because it refers to the engine pipe, which never quite gets filled, if only momentarily.

The real, and only figure is the number of threads used individually in render, the bottlenecks being the engine (largest pipe), the filters (smallest pipe), and the encoder (varies). Often, that number is limited to a usable value of1, by a unithreaded filter (they are far from extinct). An example of encoder thread limitation is x264 (6-8 max) and x265 (12, even more with a favorable wind). Whether Vegas' fat pipe is 16 or 48, it matters not very much in the practical world.

I very much appreciate the reply and I think I follow your point that circumstantially VP may not fully utilize all the hardware available. However, I'm still unclear on how to best go about matching hardware capabilities to software exploit opportunities, in regards to Vegas Pro.

Within affordable limits, I would like to build a hardware processing platform that provides Vegas Pro the most complete set of capabilities it is able to utilize. To that end, I really don't know the limits (i.e. number of cores/threads nor the maximum memory) that Vegas Pro is designed to use if available. Per one of those articles, it doesn't make sense to buy something VP cannot or will not use.

I'd also like to expand my original question to include discussing which GPU platform is best for VP be it either Nvidia or AMD. I realize different cards have different specifications but I also realize many card features are only used in gaming and not in video processing. I don't presume that either platform is equal even if the specs were more or less the same (i.e. same number of CU's or CUDA's or clock speed or GPU memory). If one vendor's approach is more suitable for VP processing, I'd love to gain an appreciation for that.

Former user wrote on 9/21/2020, 4:14 AM

I would go with a intel 10900K/10850K with a rtx3080 if it's being used as expected CPU with GPU processing. The GPU bottleneck's the CPU by an extreme amount, even 2080ti's do, for that reason I don't believe a huge amount of cores helps, but fast cores likely do with time line playback

If you disable the GPU then you will use all your CPU and if used in that configuration then you would benefit from a Ryzen 3950 etc, but it has been said that in general a CPU like a 3900X running at 40%CPU with GPU processing is faster than a 3900X running 100% CPU with gpu processing turned off.

I do not have a fast processor, it's always at 100% with software encoding, so I can't first hand corroborate what users have said, i'm collating together reports from various people here that are saying similar. Best to get your information first hand from people with fast gpu and cpu

Illusion wrote on 9/21/2020, 11:07 AM

Thanks Fr0sty, I appreciate hearing your thoughts. Now, as an example of differences of opinions regarding hardware that Vegas Pro can use, I point out these two different (but similar reviews):

https://www.guru3d.com/articles-pages/amd-ryzen-threadripper-2970wx-review,18.html

https://www.guru3d.com/articles-pages/amd-ryzen-9-3950x-review,18.html

I'm not inclined to believe his opinion that Vegas Pro is limited to 16 threads, for if that were true, why would VP developer's allow us to set the thread count to as high as 48?

I have a Ryzen 3900X 12C/24T and if I encode using CPU only, all 24 logical cores can be mostly maxed out. I have set the max number of threads to 24.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

Jonathan-Burnett wrote on 9/21/2020, 3:45 PM

I have a Ryzen 3900X 12C/24T and if I encode using CPU only, all 24 logical cores can be mostly maxed out. I have set the max number of threads to 24.

Thanks for that info! Just curious what it looks like when you let your GPU do some of the work?

Illusion wrote on 9/21/2020, 4:32 PM

I have a Ryzen 3900X 12C/24T and if I encode using CPU only, all 24 logical cores can be mostly maxed out. I have set the max number of threads to 24.

Thanks for that info! Just curious what it looks like when you let your GPU do some of the work?

CPU is mostly idle but the rendering time is much faster, about 40% faster with the GPU encode. Note that in all cases, I had GPU decoding enabled.

Having all these resources makes the system fairly stable. While rendering, I am able to use my pc for other tasks and barely notice any degradation. I was not able to do that with my previous PC, once a render was in progress, I had to leave it alone otherwise, the render would often crash before the end. But this was a quad core 8GB ram.

Later on, I will even try to render a large project and simultaneously work on a 2nd instance of Vegas to see what kind of stability I get.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

Jonathan-Burnett wrote on 9/21/2020, 4:55 PM

CPU is mostly idle but the rendering time is much faster, about 40% faster with the GPU encode. Note that in all cases, I had GPU decoding enabled.

Having all these resources makes the system fairly stable. While rendering, I am able to use my pc for other tasks and barely notice any degradation. I was not able to do that with my previous PC, once a render was in progress, I had to leave it alone otherwise, the render would often crash before the end. But this was a quad core 8GB ram.

Later on, I will even try to render a large project and simultaneously work on a 2nd instance of Vegas to see what kind of stability I get.

This is fascinating. Your experiment seems to suggest that the multi-threading feature of VP is really only in play if you don't invoke your GPU. I had always assumed that VP would offload what it could to the GPU but continue to run everything else in multiple threads on the CPU but looking at your Task Manager display, it seems more like an either or situation.

It would be really nice if Vegas developers would comment so we as users don't have to guess at how they intended their code to run and interact with our hardware choices...

Illusion wrote on 9/21/2020, 5:20 PM

 

This is fascinating. Your experiment seems to suggest that the multi-threading feature of VP is really only in play if you don't invoke your GPU. I had always assumed that VP would offload what it could to the GPU but continue to run everything else in multiple threads on the CPU but looking at your Task Manager display, it seems more like an either or situation.

It would be really nice if Vegas developers would comment so we as users don't have to guess at how they intended their code to run and interact with our hardware choices...

I don't think multi-threading goes off when GPU is active. With a chain of CPU/GPU, the system can only go as fast as the slowest link. I'd rather think that with GPU enabled, the CPU is providing frames faster than the GPU is able to encode so the CPU needs to throttle back leaving a lot of idle time.

But rendering is not the only important aspect. Timeline playback is buttery smooth with my build. 4K timeline, nested projects, color grading, and others and I can playback in realtime smoothly. No need to pre-render to RAM anymore.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

Jonathan-Burnett wrote on 9/21/2020, 5:34 PM

 

 

I don't think multi-threading goes off when GPU is active. With a chain of CPU/GPU, the system can only go as fast as the slowest link. I'd rather think that with GPU enabled, the CPU is providing frames faster than the GPU is able to encode so the CPU needs to throttle back leaving a lot of idle time.

But rendering is not the only important aspect. Timeline playback is buttery smooth with my build. 4K timeline, nested projects, color grading, and others and I can playback in realtime smoothly. No need to pre-render to RAM anymore.

Makes perfect sense that the mainline logic (running on the CPU) will task out work to the GPU when it can. By whatever means the parallel processing is performed, I'd expect chunks of work to be portioned out (to CPU and GPU) limited only by the available resources and to whatever limits the developers might have been constrained by.

Former user wrote on 9/21/2020, 6:53 PM

It seems like the highway between CPU and GPU is very low in VegasPro, and that causes the latency and slowness and the lack of CPU to be used. Although having said that, if you look at Techgauge benchmarks, the more powerful GPU's outperform medium to low powered by a large amount. That doesn't seem to make sense to me if the lanes between cpu and gpu are saturated, unless lane is limited to a data width but the speed is not, and a faster cpu and gpu (frequency) does explain things better?

Any technical people tell us what the real situation is?

LongIslander wrote on 12/10/2020, 2:18 AM

Would love to know how a 3990X fairs with a cpu only render. 😝

Jonathan-Burnett wrote on 12/10/2020, 2:24 AM

Would love to know how a 3990X fairs with a cpu only render. 😝

And for that matter, how a 6900X fares as well. ;-)

LongIslander wrote on 12/10/2020, 2:59 AM

I Personally stay away from GPU rendering. Common consensus is if you're looking for quality you stick to a software render. I keep hardware decoding off as well in my pref. of v18. Found it to be offer more stable editing and rendering. proxies are your freind for preview performance. 👍.

Would love to see some higher end/cores cpus and results other users have with cpu encodes. My old i7 7700k maxes out to 100% easy on just about anything.

Illusion wrote on 12/10/2020, 6:40 AM

@LongIslander @Jonathan-Burnett

Here is a CPU render only in VP18

Last changed by Illusion on 12/10/2020, 6:40 AM, changed a total of 1 times.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

LongIslander wrote on 12/10/2020, 1:11 PM

@LongIslander @Jonathan-Burnett

Here is a CPU render only in VP18

Just awesome. 😆  Makes me want to upgrade; but then I always ask myself why. Rendering is time to walk away from the computer and do something else. Just out of curiosity what kind of footage/resolution and what render template are you using there?

Illusion wrote on 12/10/2020, 1:24 PM

For this particular one, it was a 3840x2160 project. Footage from GoPro Hero 8 in HEVC. Rendered using Magix AVC/MP4 2160p.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

Illusion wrote on 12/10/2020, 1:39 PM

@LongIslander, also note that I am using separate PCIe 3.0 x4 SSDs for OS/programs and active project media. It makes a huge difference in the responsiveness of the system. I have been able to totally saturate a regular desktop HDD which was used as a target for the rendered file. Make sure you don't have bottlenecks somewhere else.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

lenard wrote on 12/10/2020, 5:00 PM

@LongIslander @Jonathan-Burnett

Here is a CPU render only in VP18

 

Can you confirm your GPU processing is ON, and you didn't change any internal preferences such as turning OpenCl off . If it was on, was GPU decoding on?

Illusion wrote on 12/10/2020, 7:23 PM

@LongIslander @Jonathan-Burnett

Here is a CPU render only in VP18

 

Can you confirm your GPU processing is ON, and you didn't change any internal preferences such as turning OpenCl off . If it was on, was GPU decoding on?

For this test, I had GPU processing ON, OpenCL interop True, RAM preview 0, GPU decoding ON. I just choose a render template that was not NVENC.

Last changed by Illusion on 12/10/2020, 7:24 PM, changed a total of 1 times.

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1

 

lenard wrote on 12/10/2020, 9:21 PM

Because nobody else gets full CPU utilisation with a 12 core cpu when using GPU on VP18 I have to think you're not actually using GPU. Your results are consistent with GPU OFF. You can check your GPU 3D graph when encoding to see if notice any activity. Something like Vegas autolooks filter should show noticable 3d GPU use, but could also slow down your CPU encoding, but if you can confirm the GPU activity with Vegas autolooks then you have a system that works better than any other

Illusion wrote on 12/11/2020, 6:31 AM

Something like Vegas autolooks filter should show noticable 3d GPU use

It increased 3D use but not by much.

In the test above, I was using GPU, at least I was seeing some 3D and Cuda activity but again, it is small. A LUT filter was applied for color grading on each event in the test above, unless LUT Filter is not using GPU. Anyway, I repeated the test by adding a Vegas Autolook as you suggested. It degrades the HEVC footage CPU encode performance.

This is AVC footage with LUT Filter and Autolook. CPU is still 100% here. Magix AVC render.

This is HEVC footage with LUT Filter and Autolook. CPU usage decreased. Magix AVC render. If I remove, Autolook, it goes back to 100%.

 

Also note that I did tests with the available 2160p templates and only MAGIX AVC gives me these results. Magix Intermediate and Sony XAVC are not using 100% CPU.

However, I also tested Voukoder with x264 encoding, results are very interesting. As expected, AVC footage is still 100% so I did not bother taking screenshots.

Here is HEVC footage with LUT Filter and Autolook. Voukoder x264 render.

There are a few dips in some cores but otherwise, mostly 100%. GPU 3D and Decode usage is 3% more each.

 

  • ASUS ROG Strix X570-E
  • Ryzen 9 3900x 12-core
  • 128GB RAM (4x32GB)
  • Nvidia RTX 2070 8GDDR6
  • 1TB WD Black NVMe M.2 for OS/Prog
  • 1TB WD Black NVMe M.2 for Media
  • 1TB/2TB/4TB SATA3 SSDs for projects/media
  • 4TB WD Red drive for local cache
  • 10TB EXOS Enterprise, 14TB Toshiba drive for local cache
  • 32in 4K main monitor, 24in 1080 second
  • Win 11 Pro
  • 28TB NAS for long term archive storage
  • Sony a6000
  • Sony A7C
  • GoPro Hero 8
  • GoPro Hero 11
  • Sony BRAVIA XR X90J 75" 4K HDR10
  • Nvidia Shield TV Pro media player (GigE wired)
  • JBL Bar 5.1