OBS - Can not change utilization from GPU to CPU

KINGCEE

New Member
Hi,

When streaming via OBS, it seems to be impossible to set the encoder so that x264 works properly and uses the CPU's resources instead of those of the GPU.

Problem description: It consistently lags, which is also understandable, since the GPU is already used by the game >95%.

Sure, it's possible to simply lower the graphics settings, limit the FPS, or play at a lower resolution and let the GPU run at half utilization. But that's not the point here. I would like to get a balance between CPU and GPU utilization.

When streaming via Discord I have the same problem with demanding games like Shadow of the Tombraider / RDR2. - Are there any settings within the BIOS / Windows or something that always prefer or preset the H.264 GPU encoder when streaming? I can change the encoder to H.264 within OBS but it does not have any effects.

Specs:
- Windows new installed
- 5900X, 3080, 32gb, 850W, ASUS x570-strix-I, nvme
 

R1CH

Forum Admin
Developer
Compositing the scene requires GPU resources regardless of the encoder. Run OBS as admin to ensure it has enough GPU for itself.
 

R1CH

Forum Admin
Developer
 

R1CH

Forum Admin
Developer
It looks like you're using window / display capture, for games make sure you don't have any window / display capture sources and use game capture for best performance. You should also really be using NVENC on a 3080.
 

KINGCEE

New Member
It looks like you're using window / display capture, for games make sure you don't have any window / display capture sources and use game capture for best performance. You should also really be using NVENC on a 3080.

It seems like it got a little bit better but its still laggy af :/
Changed the encoder to NVENC as well but it makes no difference

New Log: https://obsproject.com/logs/sRFQQkh9vHax2O1x


Btw. why should I use NVENC when the CPU chills at 20% or so. GPU is always at 99% while playing one of these mentioned games above without streaming.
 
Last edited:

R1CH

Forum Admin
Developer
NVENC uses a dedicated part of the chip just for video encoding, so it doesn't take resources away from the game. Not sure what else to suggest, your log looks fine otherwise.
 

carlmmii

Active Member
Can you perform an actual recording and upload the current logs while OBS is still open? There's no recording attempt in either, so it's unknown whether you're getting rendering lag or encoding lag... if at all.
 

fatmatrow

Member
sad.. but thanks so far! Maybe someone else in this forum has an idea how to fix this issue
if you don't limit frames, your gpu is just gonna render unconstrained, so it will peg itself out. If you use some kind of vertical sync, then you will see your gpu usage normalize
 

KINGCEE

New Member
Can you perform an actual recording and upload the current logs while OBS is still open? There's no recording attempt in either, so it's unknown whether you're getting rendering lag or encoding lag... if at all.



Sure, its just a short record within the SOTTR menu. But you already see the stutter in the recording. On the bright side, its obviously butter smooth when I play the game at >100fps.
2021-01-0110-57-16.mkv

You can the the utilization of the CPU/GPU on the right corner. Its almost the same split when I actually play the game.


OBS Log during this recording: https://obsproject.com/logs/a9hHzwyKUVMHoR39


if you don't limit frames, your gpu is just gonna render unconstrained, so it will peg itself out. If you use some kind of vertical sync, then you will see your gpu usage normalize

Yea, i know that but I do not want to limit my FPS in every game.
 

koala

Active Member
Yea, i know that but I do not want to limit my FPS in every game.
Live grabbing video data and encoding is a huge load on your system. It's not a negligible background job, it's heavy additional work for your machine. So you need to make CPU and GPU power available for this task, or you will not get satisfying video recording results. Limiting fps is a way to make this power available, usually the only way, because otherwise there's simply not enough computing power available for OBS.
 

KINGCEE

New Member
understood, I just thought that I can allocate the encoding part mostly to the CPU because it has a lot of unused resources left.
 

fatmatrow

Member
Sure, its just a short record within the SOTTR menu. But you already see the stutter in the recording. On the bright side, its obviously butter smooth when I play the game at >100fps.
2021-01-0110-57-16.mkv

You can the the utilization of the CPU/GPU on the right corner. Its almost the same split when I actually play the game.


OBS Log during this recording: https://obsproject.com/logs/a9hHzwyKUVMHoR39




Yea, i know that but I do not want to limit my FPS in every game.
Then limit frames in the nvidia control panel. There's no "or do this instead" if you're having utilization issues like that. Limit your frames, turn on some kind of vertical sync, etc.
 
Top