Does "Rendering Threads" do anything while using GPU rendering? [V 17]

CJacobsSA wrote on 7/21/2020, 12:07 AM

Hi there! I searched but was unable to find any results as my google-fu is pretty weak, so here goes: I use NVENC and the MAGIX codec to render, and GPU acceleration on the timeline and video playback. With this in mind, what does the "Rendering Threads" setting actually do in this case? It's set to 16, as I have a Ryzen 3700x CPU with multi-threading... but if the CPU isn't being used for rendering, what does that setting entail? Are there such a thing as GPU rendering threads? I'm not very good with the more abstract tech stuff so I'm just left scratching my head here.

Comments

fr0sty wrote on 7/21/2020, 12:48 AM

No, it should only affect the number of threads the CPU uses.

You CPU does get used during rendering, just not to do the actual encoding. It can help with other tasks like audio, effects that don't support GPU, etc.

There's also formats that do not support NVENC rendering, for those you use CPU only.

Best to set the number to the max number of threads your CPU supports. In your case, it would be 2x the number of physical cores you have.

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)

CJacobsSA wrote on 7/21/2020, 1:05 AM

Thanks for the explanation! Very succinct. So with that in mind, then, is this normal for GPU usage while rendering?

This is what caused me to make this thread, it doesn't seem like the GPU is being utilized much even while using it to render. GPU peaks at ~35%, CPU peaks at ~80%. But again, it could just my lack of understanding. Is this ~35% actually the max performance and it's running as expected?

Edit: For reference, this is while rendering 2160p video at a quite high bitrate, so I'm really trying to push the limits of what the card can do here.

adis-a3097 wrote on 7/21/2020, 1:27 AM

I think your GPU is faster at encoding the footage than your CPU is at preparing and serving it to the GPU.

RogerS wrote on 7/21/2020, 1:56 AM

I've never seen a GPU figure that high on render, so I'd say Vegas is doing more than expected here. It's not that optimized an application.

If you want somewhat faster performance in Vegas with good quality, try Voukoder.

walter-i. wrote on 7/21/2020, 3:03 AM

I use an Intel i9-9900-KS with 8 cores and 16 threads.
Vegas 17 set the maximum number of rendering threads to 32 when it was installed.
Should I leave it that way or is it better to change this to 16?

fr0sty wrote on 7/21/2020, 4:22 AM

There's a couple things to consider with the GPU... Perhaps some more knowledgeable of how windows handles this can chime in...

1. The GPU uses a separate chip to encode than the compute units it uses to render graphics or perform other GPGPU tasks. I'm not sure how windows shows this load when that chip is being used... does it also consider the unused compute units?

2. Sometimes those encoder chips (NVENC/VCE/QSV) can render multiple streams at once... so it may not be possible to max them out completely if you only need one stream to be rendered, is that reflected in the windows results?

As pointed out above, if your HDD or RAM is still reading/writing the frame, or the CPU (and GPU compute units for effects that support it) are still processing the frame, those chips are playing the waiting game, so system bottlenecks can also prevent 100% utilization, which is usually the case in any app. Case in point, video games, especially on PC, rarely take FULL advantage of a system. There's always optimizations that can be done to make it fun faster, but because they have to support compatibility with a wide range of hardware configurations, they have to cater to the lowest common denominator and some of that optimization cannot be done. This is why I never build a max power gaming PC, you quickly hit a point where getting any more performance would require optimizations specific to your system's strengths that developers just aren't going to bother doing when their game has to run on a mid-range system (which dominates PC market share) as well. For instance, cramming 64GB of RAM into your system isn't going to make much difference in your games vs 32, but if you tell a developer they can make a game exclusively for systems that have that much RAM, you'll notice a huge difference, as the developer will be able to include features that take advantage of it. Same with hard drives that read at insane speeds. The PS5 has games where you can open portals to different levels, walk through with zero load time, then walk back through a portal back into the level you used to be in a split second later, but in a different part of the level, again with zero load time, because they built a special SSD into it that reads at nearly 10GBPS, and hardware texture decompression that further reduces the load and increases bandwidth. No other console or PC could do what that game is doing, because the developers were able to code their game to take specific advantage of one hardware configuration, and they maximized its potential. The PC ecosystem of universal compatibility across wide hardware choices, while it is what makes it so appealing over a more closed system like Macs, it is also a double edged sword.

Just some reasons why you may want to not consider "I'm not seeing 100% in task manager" as a bad thing.

 

Last changed by fr0sty on 7/21/2020, 4:27 AM, changed a total of 3 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)

john_dennis wrote on 7/21/2020, 9:49 AM

https://www.vegascreativesoftware.info/us/forum/i-m-going-for-a-walk--118208/

 

Musicvid wrote on 7/21/2020, 10:30 AM

Some additional distinctions.

AVC/h264 is usually optimal at 6-8 logical processes. More can actually slow things down.

HEVC/h265 can effectively use more when needed, and is smarter about choosing how many.

That was my takeaway from reading an outside developer's thoughts.