Render through GPU/Not Render through GPU?

Rednroll wrote on 7/2/2021, 9:16 PM

Hoping someone can help clear up my confusion. I've read quite a few discussions on this forum about rendering projects through the GPU vs rendering through the CPU instead.

Can someone give me a summary of how that distinction difference is actually achieved? I started looking under the preference settings and then onto the render encoder settings but came up empty on the topic. Then recently read a discussion of how the MainConcept encoders render through the CPU but others use the GPU instead.

I guess this is a common knowledge item for many of you on the forum, but I'm currently scratching my head when it comes down to understanding how the line gets drawn in the sand of rendering through the GPU or not.

Then onto my next question, since I'm working on a laptop which has the built-in Intel GPU and Nvidia GPU, how is the decision made of which GPU the render would be done through?

Comments

RogerS wrote on 7/2/2021, 9:32 PM

The difference of how encoding is done is determined by the render template settings. Mainconcept is CPU, QSV is Intel, NVENC is NVIDIA, VCE is AMD. Only a few types of file support GPU encoding. Click customize template to see available options.

Rednroll wrote on 7/2/2021, 10:08 PM

Thank you!

I'm currently looking through all the available video render option encoders in Vegas which are the Vegas Default installed and Voukoder. The only encoder I'm finding that makes this obvious is the Magix HEVC encorder which shows "(Intel QSV)" next to the template name as well as having an "Encode" mode of Intel QSV under the template settings. I'm not finding anything mentioning "NVENC" or NVIDIA under it although I have an Nvidia GPU. Where/how do I find that option?

RogerS wrote on 7/3/2021, 12:45 AM

What are you looking to do exactly? I'd start with the render format you want rather than GPU. You are looking for a space-efficient delivery format (AVC or HEVC?) What version of Vegas are you using?

MagixHEVC and MagixAVC should have GPU encoder options for any GPUs that Vegas is compatible with. In your case that seems to be only QSV at the moment.

You don't have a system listed in your signature so I don't know what you are using. What is your NVIDIA GPU? Are you using the Studio drivers? Start with help/driver update in Vegas and if it can see the card and finds a newer driver install it. If it's an older card (older than 9XX) it's not supported in VP 18.

fifonik wrote on 7/3/2021, 2:24 AM

This is a bit complicated to explain everything related to Vegas/Voukoder settings/encoders CPU/NVidia/Intel/AMD.

It would be much easier if you explain your issues/goals.

 

In short: HW encoding (that is only available if you have supported hardware + driver installed) usually do the job much faster, but produce worse quality on the same bitrate.

 

I'd recommend:

Quality (final render): use Voukoder CPU x264 or x265

Speed (draft renders): use Magix AVC/HEVC with supported HW encoder

Last changed by fifonik on 7/3/2021, 2:25 AM, changed a total of 1 times.

Camcorder: Panasonic X1500 + Panasonic X920 + GoPro Hero 11 Black

Desktop: MB: MSI B450M MORTAR TITANIUM, CPU: AMD Ryzen 5700X, RAM: G'Skill 32 GB DDR4@3200, Graphics card: MSI RX6600 8GB, SSD: Samsung 970 Evo+ 1TB (NVMe, OS), HDD WD 4TB, HDD Toshiba 4TB, OS: Windows 10 Pro 22H2

NLE: Vegas Pro [Edit] 11, 12, 13, 15, 17, 18, 19, 22

Author of FFMetrics and FFBitrateViewer

RogerS wrote on 7/3/2021, 2:33 AM

I didn't mention Voukoder so as not to complicate things further, but personally do exactly as Fifonik says. My final renders are x264 using Voukoder or Apple ProRes using Vegas, and drafts usually MagixAVC with NVENC.

Rednroll wrote on 7/3/2021, 3:45 AM

Really, the only goal I'm trying to achieve at this time is to be able to render either through the GPU and not through the GPU so I can see and compare the final results to get some 1st hand experience of the differences on my system.

I already know my GPU is the weak point of my system. It's an Nvidia GeForce 940MX being used with VP18. I don't have an option of studio vs game drivers, it's only game drivers available for this GPU. When I check through the Vegas help menu for latest updated driver, it will always tell me there is a driver update available. In the past when I tried to download and install the latest driver recommended by Vegas, I was unable to install that driver. The reason being is that it is a Dell Laptop, and is only able to install Nvidia updated drivers which have been authenticated through Dell.

Not to confuse things as well, the only reason I mentioned Voukoder was installed was that I was unable to identify any NVENC render options on my system despite having an Nvidia GPU and thought maybe there were other similar additional encoders I needed to install to be able to render through the GPU.

So now that I got that out of the way, any specific steps I can take to be able to try rendering through the Nvidia GPU and/or what would be the reason they aren't being displayed as an option? It could be they are being displayed and I'm just not looking in the right place for them.

"Speed (draft renders): use Magix AVC/HEVC with supported HW encoder"

Thank you! Points me in the direction of where to start looking.

Rednroll wrote on 7/3/2021, 4:05 AM

As an additional note. I originally observed that I was having playback stuttering issues when I had the GPU acceleration setting set to the Nvidia GPU in the preference settings and had a couple of FXs applied on a video track. I was instructed on this forum by a knowledgable user to try setting the GPU acceleration to OFF for video preview, which I did and it corrected the stuttering playback problems. However, I recently watched a video on Youtube which further explained that if you set the video preview acceleration to the Nvidia GPU that you additionally need to set the Dynamic RAM preview setting to "0". When I tried those combined setting configurations, I learned I was able to run more video FXs without stuttering playback issues than when I had it set to Acceleration=Off and Dynamic Ram preview=200MB(Default).

So this is all part of continuing to learn to best maximize the efficiency of working with the current system I have by trying things out for myself and observe the comparison results.

JN- wrote on 7/3/2021, 4:13 AM

@Rednroll There's a Render Quality table, via my signature, of different codecs used, some used Cpu, others Qsv, Nvenc, Vce, and ffmpeg which is similar to Voukdoer in result. Cuda also. I've even included an AV1 codec.

Most codecs can be used, not always with all of their individual capabilities in either HW or software encoding. That's decided by the codec supplier, such as a company like Mainconcept. An SDK, more software, largely decides what attributes of an asic or similar can be accessed, but Magix for example has to decide how much of it and how its accessed.

The HW encodes are usually a bit more limited in flexibility because they have to be set when the HW asic, a dedicated chip is constructed.

Qsv is from within the Cpu, but is HW encoding.

Cpu based encoding is regarded as software encoding. Cuda encoding is Gpu based encoding, AFAIK, not based on an asic.

Nowadays, users often exaggerate the benefits of Cpu encoding over HW encoding. For example Nvidia Nvenc either h264 or hevc, encoding is quite good, if in doubt, add some extra data rate, and so extra size, but still massively faster to encode, and good enough for most users needs.

Last changed by JN- on 7/3/2021, 4:22 AM, changed a total of 1 times.

---------------------------------------------

VFR2CFR, Variable frame rate to Constant frame rate link to zip here.

Copies Video Converts Audio to AAC, link to zip here.

Convert 2 Lossless, link to ZIP here.

Convert Odd 2 Even (frame size), link to ZIP here

Benchmarking Continued thread + link to zip here

Codec Render Quality tables zip

---------------------------------------------

PC ... Corsair case, own build ...

CPU .. i9 9900K, iGpu UHD 630

Memory .. 32GB DDR4

Graphics card .. MSI RTX 2080 ti

Graphics driver .. latest studio

PSU .. Corsair 850i

Mboard .. Asus Z390 Code

 

Laptop… XMG

i9-11900k, iGpu n/a

Memory 64GB DDR4

Graphics card … Laptop RTX 3080

RogerS wrote on 7/3/2021, 4:49 AM

I think the answer to NVENC not appearing is that this particular NVIDIA card isn't fully supported in Vegas 18, at least with the drivers you have available. I also have a Dell laptop with integrated chips and am able to use drivers from NVIDIA directly (Studio or gaming- just uninstalled the Dell one and then downloaded and installed them).

For speed, QSV and NVENC are usually comparable, and quality of NVENC renders from old cards (yours is from 2016) isn't great, so I'd stop worrying about it and use QSV for your quality and speed tests.

For NVENC renders you want to set dynamic ram preview to 0 due to a Vegas bug. For previews I see no reason to do this and it does slow the system down. Of course if your card isn't fully supported and is having issues, do what you need to for stability.

 

fifonik wrote on 7/3/2021, 5:57 AM

Based on the NVIdia support matrix it is not clear to me if your GPU supports HW encoding or not.

It is mentioned twice:

"GeForce GTX 920MX - 940MXGM107" "GM108" -- does not support HW encoding

"GeForce 845M / 940M / 940MX / 945M" "GM107" -- supports H264 HW encoding

You may try to find out if your GPU based on GM108 or GM107 (GPU-Z, GPU Caps Viewer or similar programs could show this information). If it is the second one, you may try to turn on "Allow legacy GPU rendering" in Vegas Pro (Options | Preferences | Deprecated features)

Last changed by fifonik on 7/3/2021, 6:11 AM, changed a total of 8 times.

Camcorder: Panasonic X1500 + Panasonic X920 + GoPro Hero 11 Black

Desktop: MB: MSI B450M MORTAR TITANIUM, CPU: AMD Ryzen 5700X, RAM: G'Skill 32 GB DDR4@3200, Graphics card: MSI RX6600 8GB, SSD: Samsung 970 Evo+ 1TB (NVMe, OS), HDD WD 4TB, HDD Toshiba 4TB, OS: Windows 10 Pro 22H2

NLE: Vegas Pro [Edit] 11, 12, 13, 15, 17, 18, 19, 22

Author of FFMetrics and FFBitrateViewer

Howard-Vigorita wrote on 7/3/2021, 4:57 PM

In another post I believe @Rednroll showed that his machine has a 940MX plus a uhd620. The Nvidia matrix seems to indicate that the 940mx supports no hardware encoding. But the Intel uhd620 does support both encoding and decoding... should be able to render qsv if current drivers are loaded and enabled but maybe not if legacy is chosen. Intel matrix is here:

https://software.intel.com/content/www/us/en/develop/articles/encode-and-decode-capabilities-for-7th-generation-intel-core-processors-and-newer.html

Rednroll wrote on 7/3/2021, 8:28 PM

Thanks for the additional details. So what I'm summarizing is if my GPU doesn't support H/W encoding via the driver I have installed then Vegas doesn't display those as render options?

Which therefore explains why I'm not finding them?

RogerS wrote on 7/3/2021, 8:49 PM

Right, though not sure if the problem is through that driver or that the card can't do encoding at all. Vegas doesn't display render options you can't use (thankfully).