QuickSync increases NVidia GPU usage

mikemiller88

New Member
Hello, everyone! I faced a very strange situation. I was experimenting with different encoding settings to make sure my gameplay recordings have less stutter. Since i have 2 GPUs: nVidia RTX3070 and Intel UHD Graphics (Built-in), i thought that activating second one in BIOS might be a good thing to try, since recordings on my RTX3070 are choppy even if GPU load is not maxed out.

I was easily able to select QuickSync encoder in OBS settings as soon as I activated my second GPU. And in the task manager it showed that it really uses Intel encoder, while NVidia encoder is 0% use. However... here where strange things started. Activating recording in that way caused around 10-15% spike in NVidia GPU usage. Also, task manager showed that Intel GPU for some reason started using resources of 3D rendering which is absurd since my game runs on nVidia GPU.

Thing is - my preview is switched OFF in OBS. So when recording my game i should only get Intel encoder working. However, in this configuration i get this:

1) Intel encoder - 30-40% load
2) Nvidia encoder - 0% load
3) Intel 3D load - 50-60%
4) NVidia 3D load - +10-15%

So basically i get even worse performance since my FPS in game drops because of higher main GPU usage, while Intel for some reason also starts using its 3D rendering resources.

Can anyone explain what's happening and how to solve it?
 

koala

Active Member
Nvidia GPU usage is increased, because video data has to be processed and moved to the iGPU memory. In contrast, encoding on the Nvidia GPU directly encodes from the game frame buffer with no intermediate processing.
Intel iGPU 3D load increases, because as far as I know, part of the Quicksync hardware encoder just uses 3D computing resources for encoding.

Solution: use Nvenc on the Nvidia GPU. All in all, it's the most resource saving approach. Offloading encoding to a different GPU doesn't have the desired effect. It's not very intuitive, but this is the experience ever since hardware encoders with multiple GPUs came up.

My experience with using Nvenc on a powerful Nvidia GPU while running games is that the impact of encoding is negligible, even with very GPU demanding games. However, one must not allow the game to use unlimited high fps. This will make OBS starving for GPU resources and make recordings choppy.
 

mikemiller88

New Member
Thanks for clarification! Yes, seems like involving 2 GPUs is a worse solution here. Indeed it looks like the data has to be transferred to iGPU memory which creates that extra load. Launching OBS with "energy efficient" option in Windows (which makes it use Intel Graphics) is not a solution, since I just have black screen. Enabling "Cross-Fire mode" in settings helps transferring it to Intel Graphics from nVidia but again causes very high load.

However, by testing and googling more on that,I discovered that the main reason of stuttering might be that I use VRR and V-Sync off. I was trying to find if OBS can record in VFR, but the only links that i found on Google address me to the solution how to "disable VFR".. which in my case is the opposite that I'd like to experiment with :( I believe recording in VFR and then decoding it to 60 FPS might at least help a bit with stuttering issue.
 
Top