OBS massive lag and dropped frames

Hi!
Basically I can neither stream nor record using OBS, even though I can record using AMD drivers or Windows Game Bar. I meant to stream some For Honor which runs smoothly in UHD with all settings maxed out except for oversampling, at a steady 120 fps with a few drops towards 70-80.

Specs:
  • CPU : AMD Ryzen 9 5900X
  • RAM : 64 GB DDR4
  • GPU : AMD Radeon 7900XT 20GB
What I tried today:
  1. base resolution UHD, output resolution FHD, 60fps : 20 to 40% frames dropped due to both rendering and encoding lag. It seems the game itself doesn't stutter but drops to a steady 60-70 fps
  2. base resolution FHD, output resolution FHD, 60fps : same
  3. base resolution FHD, output resolution FHD, 30fps : now around 8% frames dropped but seems in all cases, the framerate caps to 27-28 fps
  4. hardware/software rendering : no difference whatsoever.
I have no idea what to do. Any help or experience would be appreciated :)
 
I haven't found the cause of my issues in the pinned posts advice. As expected, and as shown by the OBS log analyzer, the issue lies in rendering and encoding lag, with the analyzer suspecting that my CPU as well as my GPU might be maxed out. However, as I have been seeing in the task manager, this was hardly the case.
I also am finding something quite weird with For Honor's behavior while OBS was running. This was mostly apparent while streaming, but the impact was also noticeable while OBS was simply opened in the background while playing the game. The Issue was that while I was playing on a dualsense controller, I would experience a lot of stuttering in game, but that stuttering would absolutely not occur while playing on the keyboard and mouse. I had already seen this issue before, and that was due to For Honor conflicting input methods and stuttering between rapid, repeated unwanted swaps from one input method to the other. This issue, however, has been solved by using the DS4Windows utility.
I am at a loss as to why OBS is behaving like it's constantly loading my hardware while it's not really. Maybe something to do with driver optimization but I really need help.
 

PaiSand

Active Member
Please review and follow directions and recommendations on the analyzer

From there, 2 things are unavoidable:
Disable HAGS
Excessive amount of plugins.

Remove all the plugins you don't use, update and make sure are compatible with OBS 30.2.* all the plugins you do use. If one of this plugins you need to use are not still updated, downgrade OBS to the version where the plugin do work correctly. Check on each plugin page for this.

If using the Enhanced Broadcast gives you issues, don't use it for now.
Make sure you have the latest GPU driver too.
After all the fixes, please do a test stream as you normally do, including recording if you do record at the same time, and all the thing you normally do. Please do one test, not multiple, so the log file have only information related to this test.
If all goes well, you're done. If not, please upload the log file, review the analyzer and post it here.
 

rockbottom

Active Member
I think the NDI plugin & NDI in general may be causing some of the issues. NDI recommends Nvidia & Intel GPU's only. Have you tested NDI Tools outside of OBS to make sure it actually works as intended?
 
I think the NDI plugin & NDI in general may be causing some of the issues. NDI recommends Nvidia & Intel GPU's only. Have you tested NDI Tools outside of OBS to make sure it actually works as intended?
Yes NDI tools are working perfectly outside of OBS, and I have seen next to zero difference in quality from NDI vs USB cameras. I could try and remove NDI plugins and see what happens when I stream a simple window capture with nothing on it though
 

rockbottom

Active Member
OK I saw you had tools installed. I suspect that performance isn't as good with AMD & it may be part of the rendering lag/GPU overload. For now, leave it but take look in Apps, see if the v5 runtime is installed too. The runtime is included with tools.
From your log
23:35:09.212: [obs-ndi] obs_module_load: Qt Version: 6.6.3 (runtime), 6.5.3 (compiled)
23:35:09.212: [obs-ndi] load_ndilib: Trying 'C:/Program Files/NDI/NDI 6 Tools/Runtime/Processing.NDI.Lib.x64.dll'
23:35:09.213: [obs-ndi] load_ndilib: Found NDI library at 'C:/Program Files/NDI/NDI 6 Tools/Runtime/Processing.NDI.Lib.x64.dll'
23:35:09.222: [obs-ndi] load_ndilib: NDI runtime loaded successfully
23:35:09.222: [obs-ndi] load_ndilib: NDIlib_v5_load found
23:35:09.236: [obs-ndi] obs_module_load: NDI library initialized successfully ('NDI SDK WIN64 12:45:30 May 6 2024 6.0.1.0')

After that, take care of all the issues the Analyzer noted first.
 

rockbottom

Active Member
These can be disabled
23:35:07.349: Game Bar: On
23:35:07.349: Game DVR: On

Disabling HDR on these 2 monitors will free up more resources.

23:35:07.417: name=QBQ90
23:35:07.417: pos={0, 0}
23:35:07.417: size={3840, 2160}
23:35:07.417: attached=true
23:35:07.417: refresh=120
23:35:07.417: bits_per_color=10
23:35:07.417: space=RGB_FULL_G22_NONE_P709
23:35:07.417: primaries=[r=(0.669922, 0.311523), g=(0.273438, 0.659180), b=(0.153320, 0.044922), wp=(0.312500, 0.329102)]
23:35:07.417: relative_gamut_area=[709=1.273106, P3=0.938497, 2020=0.673309]
23:35:07.417: sdr_white_nits=80
23:35:07.417: nit_range=[min=0.003100, max=817.000000, max_full_frame=658.000000]
23:35:07.417: dpi=96 (100%)
23:35:07.417: id=\\?\DISPLAY#SAM71FB#7&1959027e&3&UID256#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:35:07.417: alt_id=\\.\DISPLAY1
23:35:07.417: output 1:
23:35:07.417: name=SONY AVSYSTEM
23:35:07.417: pos={1010, -1080}
23:35:07.417: size={1920, 1080}
23:35:07.417: attached=true
23:35:07.417: refresh=60
23:35:07.417: bits_per_color=10
23:35:07.417: space=RGB_FULL_G22_NONE_P709
23:35:07.417: primaries=[r=(0.639648, 0.330078), g=(0.299805, 0.599609), b=(0.149414, 0.059570), wp=(0.312500, 0.329102)]
23:35:07.417: relative_gamut_area=[709=0.999839, P3=0.737052, 2020=0.528786]
23:35:07.417: sdr_white_nits=80
23:35:07.417: nit_range=[min=0.010000, max=1499.000000, max_full_frame=799.000000]
23:35:07.417: dpi=96 (100%)
23:35:07.417: id=\\?\DISPLAY#SNY0408#7&1959027e&3&UID260#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:35:07.417: alt_id=\\.\DISPLAY2
 

rockbottom

Active Member
I didn't check all of your plugins but StreamFX is a BETA version for a release candidate. Probably best to update it if available or get rid of it & wait for a version that's been vetted for 30.2.2.

Version 1.0.0b515-g81e83e38
 
These can be disabled
23:35:07.349: Game Bar: On
23:35:07.349: Game DVR: On

Disabling HDR on these 2 monitors will free up more resources.

23:35:07.417: name=QBQ90
23:35:07.417: pos={0, 0}
23:35:07.417: size={3840, 2160}
23:35:07.417: attached=true
23:35:07.417: refresh=120
23:35:07.417: bits_per_color=10
23:35:07.417: space=RGB_FULL_G22_NONE_P709
23:35:07.417: primaries=[r=(0.669922, 0.311523), g=(0.273438, 0.659180), b=(0.153320, 0.044922), wp=(0.312500, 0.329102)]
23:35:07.417: relative_gamut_area=[709=1.273106, P3=0.938497, 2020=0.673309]
23:35:07.417: sdr_white_nits=80
23:35:07.417: nit_range=[min=0.003100, max=817.000000, max_full_frame=658.000000]
23:35:07.417: dpi=96 (100%)
23:35:07.417: id=\\?\DISPLAY#SAM71FB#7&1959027e&3&UID256#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:35:07.417: alt_id=\\.\DISPLAY1
23:35:07.417: output 1:
23:35:07.417: name=SONY AVSYSTEM
23:35:07.417: pos={1010, -1080}
23:35:07.417: size={1920, 1080}
23:35:07.417: attached=true
23:35:07.417: refresh=60
23:35:07.417: bits_per_color=10
23:35:07.417: space=RGB_FULL_G22_NONE_P709
23:35:07.417: primaries=[r=(0.639648, 0.330078), g=(0.299805, 0.599609), b=(0.149414, 0.059570), wp=(0.312500, 0.329102)]
23:35:07.417: relative_gamut_area=[709=0.999839, P3=0.737052, 2020=0.528786]
23:35:07.417: sdr_white_nits=80
23:35:07.417: nit_range=[min=0.010000, max=1499.000000, max_full_frame=799.000000]
23:35:07.417: dpi=96 (100%)
23:35:07.417: id=\\?\DISPLAY#SNY0408#7&1959027e&3&UID260#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:35:07.417: alt_id=\\.\DISPLAY2
Unfortunately I cannot change the bit depth of my monitors, they just like it and if I try to switch to 8 bit, colors will get janky. I'm not using HDR at all though, I very rarely use HDR on windows since it's poorly optimized and stick to SDR.

About NDI, I updated NDI tools a few days ago and the package is fully installed and everything is in working order so I guess I do have this v5 thing but not sure how to check

About StreamFX I just installed it also, I tried disabling all effects and filters before starting a stream and it didn't change much, should I try completely uninstalling all of my plugins and try them out one by one to see if they are responsible? Or disabling is fine?
 
thanks for the help by the way I usually get by with computer stuff and I like to tinker and am a bit of a power user, but I feel like streaming has gotten quite messy and complicated with the years but also quite powerful so I don't know where to start. I would be awesome if I am able to figure soon what my limitations are so that I can start tinkering and get my streaming setup in order. I completely stopped streaming for a few months, but what strikes me is that on the same machine and same type of games and setup, I was able to stream with streamfx and very few hiccups on v27 of OBS, then I stopped streaming and I recently got this new CPU and new GPU that are leagues above what I had, which were a Ryzen 5 3600 and a RTX 2070 Super, but I feel i'm getting stuck sooner and for less.

I still have the 2070 Super lying around, should I look for a way to use that as a second GPU, like a enclosure or is that a waste of time?
 

rockbottom

Active Member
Some monitors have an "Auto" HDR feature, that needs to be disabled first & then you can disable HDR in Windows.

I personally only use 1 plugin these days but when I was using more, I always waited to update OBS until all the plugins caught up.

No, leave 2070 out of the mix. The negatives far outweigh the positives when it comes to OBS & (2) discreet GPU set-ups.
 
Some monitors have an "Auto" HDR feature, that needs to be disabled first & then you can disable HDR in Windows.

I personally only use 1 plugin these days but when I was using more, I always waited to update OBS until all the plugins caught up.

No, leave 2070 out of the mix. The negatives far outweigh the positives when it comes to OBS & (2) discreet GPU set-ups.
wow one plugin what is this miraculous plugin? :D

About HDR yeah I know about these I don't have that, it's good old enable HDR in windows and hope for the best on screen lol

About the 2070 that's what I thought, but then seeing so many things rely on proprietary RTX tech these days I was wondering.

On the topic of two discrete GPUs, even if we're not thinking of mix n matching everything, wouldn't it be possible/beneficial to dedicate OBS to the 2070 and everything else to the 7900XT? Or is that precisely what is not worth trying?
 

rockbottom

Active Member
Just the multi-RTMP output.

Yep, not worth it. Both GPU's will be operating @ x8 4.0 instead of (1) @ x16 4.0. Looking a bit deeper, I'm thinking you'll be better off switching to the 2070. It's a better match for your CPU, it has NVENC & is recommended for NDI.
 

rockbottom

Active Member
I looked through the e-manual for your Samsung, a couple notes:

HDR can be disabled. Weird way to do it but it can be done.
120HZ on that TV is Variable Frame Rate, you should run it @ 60 or 30HZ (Fixed Refresh) when using OBS.

See pages 186 - 194
 

rockbottom

Active Member
To disable HDR, Input Signal Plus must be set to off. Doing this, also disables 120/VRR. Since you are already having issues, run it at 60HZ until you get things running correctly. After that, you can circle back & test it on your own.

Read Before Connecting a Computer (Supported Resolutions)

Check the resolutions supported for PC input signals.

When you connect your TV to a computer, set the computer's video card to one of the standard resolutions listed in
the tables below. The TV will automatically adjust to the resolution you choose. Note that the optimal and
recommended resolutions are 3840 x 2160 @ 60 Hz (UHD models) and 7680 x 4320 @ 60 Hz (QN7**B Series or
higher). Choosing a resolution not included in the tables can result in a blank or flickering screen or can turn on only
the receiver of the remote control. Refer to the user manual of your graphics card for compatible resolutions.
The native resolutions are 3840 x 2160 @ 60 Hz (UHD models) and 7680 x 4320 @ 60 Hz (QN7**B Series or higher) with the
Input Signal Plus set to On. The native resolution is 3840 x 2160 @ 30 Hz with the Input Signal Plus set to Off.
 
Just the multi-RTMP output.

Yep, not worth it. Both GPU's will be operating @ x8 4.0 instead of (1) @ x16 4.0. Looking a bit deeper, I'm thinking you'll be better off switching to the 2070. It's a better match for your CPU, it has NVENC & is recommended for NDI.
I suppose you're right but right now I can't afford to do that, I work as a colorist and I absolutely need the 20GB VRAM and the power of the 7900XT for davinci resolve. I wasn't able to get a 3090 or a 4080/90 for a reasonable
To disable HDR, Input Signal Plus must be set to off. Doing this, also disables 120/VRR. Since you are already having issues, run it at 60HZ until you get things running correctly. After that, you can circle back & test it on your own.

Read Before Connecting a Computer (Supported Resolutions)

Check the resolutions supported for PC input signals.

When you connect your TV to a computer, set the computer's video card to one of the standard resolutions listed in
the tables below. The TV will automatically adjust to the resolution you choose. Note that the optimal and
recommended resolutions are 3840 x 2160 @ 60 Hz (UHD models) and 7680 x 4320 @ 60 Hz (QN7**B Series or
higher). Choosing a resolution not included in the tables can result in a blank or flickering screen or can turn on only
the receiver of the remote control. Refer to the user manual of your graphics card for compatible resolutions.
The native resolutions are 3840 x 2160 @ 60 Hz (UHD models) and 7680 x 4320 @ 60 Hz (QN7**B Series or higher) with the
Input Signal Plus set to On. The native resolution is 3840 x 2160 @ 30 Hz with the Input Signal Plus set to Off.
Ah, ok, then I dfefinitely won't be doing it. Disabling input signal plus will also cap my resolution to 4k@30fps 4:2:0. I'll never do that.

Without input signal plus, I don't even get 60 fps.
 
Top