For same scene GPU fluctuates between 23% and 99%

falti

Member
I have a pretty complex setup with many nested scenes, source mirrors etc. - I do understand, that the general rule is to create rather simple setups and I also understand that every filter, scaling, 3d transform etc. will cost GPU.

Now my main scene at times is as low as 23% GPU utilization on my NVIDIA GeForce RTX 360 ti which according to TechPowerUp GPU-Z is then at 1695 Mhz.

The same scene sometimes becomes laggy at maybe 3 FPS, GPU is at 99% and at 1995 Mhz. Seriously: that happens just like that, without me making any change to that scene (e.g. activating any additional sources or so). I am beginning to feel desperate and have no idea where else I could be looking.

Any idea as to why that is and what I can fix would be greatly appreciated. Thanks in advance.

https://obsproject.com/logs/zXaEqU4azZCuIoiq
 

koala

Active Member
May be your GPU overheats, then throttles, so its usage goes to the roof due to the decreased computing power. Check the GPU cooling fans.

If it is not this, I guess you simply overload your GPU. May be out of video memory. You load a huge number of video files as media sources, all hardware decoding, all looping (as far as I see), all not close if inactive. As far as I interpret that log, all those mp4 files are running and active and looping at the same time. They don't have to be visible in the active scene - they continue to run in background even if they are only referenced by some invisible scene.

Are you sure you're using OBS as intended? It seems to me you're trying to use OBS for things usually done in postprocessing/video production. You seen not to stream but to record. You seem to record from many display captures and from many cameras.
All embedded in a huge number of scenes with a huge number of media files playing at the same time.
Are you trying to composite and create some kind of movie or sophisticated video from the existing files + camera + computer capture?

The usual workflow for this kind of work is to record with OBS just the bare capture sources. No compositing, just the raw sources. As raw as possible, so you have all the time to arrange and postprocess them afterwards over and over again. No overlay, no color correction, no filters, no additional video in background.
In that workflow, all the scenes you created in OBS are instead created in a movie production software such as Adobe Premiere or any other nonlinear video editor. You have all these video snippets. Exactly this is the task of that movie production software: arrange and composite existing snippets and effects to create a movie. All color correction, filtering, green screening/color keying is done by the movie production software, not by OBS. Raw footage from your capture sources in OBS would be one of these snippets, in addition to all the mp4 files you already have and currently include in OBS.

All the compositing features in OBS are meant for life streaming, because there cannot be a postprocessing step. But not for recording in that extend you seem to try to use it.
You seem to let the camera man create the movie. But the movie is created by the director at the editing desk with the footage created by the camera man.
 
Last edited:

falti

Member
Hi @koala,

thanks a lot for you detailed analysis. Really appreciated. I understand that you think I'm recording rather than streaming...so let me explain what I'm doing: I do live sessions on Zoom using a virtual camera.

I have a main scene that shows me via webcam, a studio with that marble desk and transparent areas (background video with that mountain there), a display capture (powerpoint on that monitor, cropped so I only show the middle of the ppt - the comic guy with bow and arrows) are in the same scene, plus the two flags and a few moving trees that are green screen videos looping. That's it. All the other scenes with videos in them I'd only show when needed.


zoom.jpg



I did not know that an MP4 is active even it if is not visible when the "close if inactive" option is not chosen - so I will change that for all of the ones not needed permanently.

Regarding GPU temparature: it is between 47 and 58 degrees C, the fan speed at 1860 RPM (=93%) most of the time.

I will make a few changes to my setup and report back.

Thanks a lot again!

Falti
 

falti

Member
So, all the videos that I can play with pressing a button on my stream deck are now set to "close if inactive". That has reduced total GPU from 23% down to 19%.

Some effect it had, but it does not explain, why sometimes things jump to 99%...
Maybe a GPU overheat with throttling indeed - I'll keep an eye on that...

What is your experience re how to see throttling? Looking at GPU clock? I see 1695 Mhz at the moment and sometimes it goes up to a max of 1995 Mhz....
 

koala

Active Member
Impressive setup and effect.
A properly designed GPU card doesn't throttle. If properly designed, its cooling system is able to exhaust enough heat even with maximum load.

By chance, I just bought a brand new RTX 4070 GPU and stress tested it. I used Furmark, and while it's running I investigated power consumption, temperature and fan speeds with hwinfo64. I observed the power consumption jumped to 200W, which is the nominal maximum power consumption of that GPU. The temperature jumped to 70-84°C (depends on the sensor), which seems normal. The fans jumped to max as well. And these values stay this way afterwards. So this is a properly designed RTX card (in a properly designed computer case, which is also required for air flow). So you might check with these two apps as well and check your system. Look for this part of the hwinfo64 / GPU-Z sensor info while running a stress test benchmark:

1684776255178.png
1684776685502.png


For your 3060 Ti, power consumption and temperatures should be the same - maximum power 200W and about 70-85°C.

However, I don't think you have a hardware issue. I assume your setup is too complex. If you have scenes and mp4 files you don't actually use, remove them. Every scene that's existing in your scene collection consumes GPU resources, even if you will never use it.
 
Top