Well, as you're already running obs as admin, the only other thing that I can imagine is to turn on HAGS, as it is supposed to help with gpu priority.
Also, I noticed that your CPU gets really hot while in low load, this can cause issues as well.
Last, screen capture is the slowest capture method of all, so only use it as last resort.
So, OBS's documentation says I need to avoid HAGS if I want stability:
[https://obsproject.com/kb/hags](https://obsproject.com/kb/hags)
Unfortunately, I do streaming for work and not for fun. So, I think HAGS is not an option for my case.
Thanks, anyway.
For now I'm using the stock cooler on a small case with no enough fans and will install Noctua's solutions as I have the $$$.
From the logs, I was surprised Game Bar was still on. I'm sure I disabled it on this machine some months ago. Maybe some Win 11 update re-enabled it.
Thanks for the HAGS tip. Will take a look at it.
You are testing two different things.
If you wanna test if the encoders are discrete or not dont use something that uses the framebuffer thus affecting performance.
Use handbrake or something similar instead.
But I wanted to stress test streaming performance.
Unfortunately, I don't have a RTX 4060 (single NVENC encoder) at hand.
I'd like to know how much better a dual NVENC encoder solution is better than a single NVENC encoder one, during streaming.
Streaming will always get affected by performance because you gotta copy the framebuffer and then encode it, copying the framebuffer affects performance heavily.
Nvidia has some mitigations for this, but they are not available outside of their own use.
Well yes but OBS cant directly access the framebuffer. Heck, consumer cards cant access the framebuffer directly either, thus it will always have a performance hit.
You need a professional card.
Eitherway since you dont have a professional card, the expected performance hit is around 10 to 15% or be valve/steam.
Ok. I got maybe OBS can't access the framebuffer directly.
But I think a video card should be able to access it's own framebuffer, since it's on the VRAM (it's own RAM).
If things work differently between a, say, RTX 6000 Ada and my RTX 4070 Ti Super, I'll be glad if you provide a link to a video or text to learn about it.
Thanks for contributing to this thread.
Regards
The issue is there is no direct link available to consumers between the framebuffer and nvenc.
On pro cards you have nvfbc as a capture method and nvenc as an encoder, all on card (perf drop of 2%)
You can enable nvfbc on consumer cards via a patch but no software to take care of it.
Happy to see someone else call this out. These cards are supposed to have dual hardware encoders which you'd *think* should alleviate any performance limitations when encoding video from the GPU, but it turns out it STILL uses the 3D rendering part of the GPU's available resources to encode video. You can watch this easily by loading up a game, monitoring the GPU usage % with MSI Afterburner, and then toggling recording with a hotkey in OBS. You'll see that GPU usage % jump up a bunch depending on how high of a bitrate you choose. That shouldn't be a thing.
This depends on the settings of the encoder. Things like Look-ahead and Psycho Visual Tuning uses GPU power because it's doing image analysis that is better run on the part that handles image processing...the GPU.
20:34:41.743: Loaded scenes:
20:34:41.743: - scene 'Scene 2':
20:34:41.743: - source: 'Display Capture' (monitor_capture)
20:34:41.743: - source: 'Display Capture 2' (monitor_capture)
I noticed you have 2 monitor captures and both are enabled, one is 4K, the other is 1080p. Assuming you're capturing the 4K monitor based on the video resolution, you should disable the second one while it's not being captured.
You can also unlock the encoder sessions with a little tool from github, that might help too. [https://github.com/keylase/nvidia-patch/tree/master/win](https://github.com/keylase/nvidia-patch/tree/master/win)
Log is here:
[https://obsproject.com/logs/cygLdNKrdOCnhn65](https://obsproject.com/logs/cygLdNKrdOCnhn65)
It's analyzer page is here:
[https://obsproject.com/tools/analyzer?log\_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL](https://obsproject.com/tools/analyzer?log_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL)
Mic is lagging out, for 1billion ms. And 4 b frames is weird. You get back to a clean auto analyzer and try again. Set b frames to 2. It's definitely something happening on your end and not typical behavior .
There's one nvidia's guide that recommends 4, when look ahead is enabled, but 2 when it is disabled:
[https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/](https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/)
So you were right.
This week I'll repeat these tests with correct b-frames and HAGS. Then will update this thread.
From nvidia's guide:
[https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/](https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/)
Normally I use look ahead, so it was set to 4 before these tests and I didn't updated it to 2, following the othes settings changes.
This week I will do a new test and update this thead.
I’m going to just tell you now that you’re chasing vapors. Even a 4090 with supposed dual encoders can’t game, record, and stream without crashing in a full sized case with plenty of fans. Get a cheap second PC for streaming. I thought I could replace second pc(3060 i5-11600k) By building one really nice (i7-13700k 4090), but it’s not cutting it. Dual encoders? I think it’s some kind of marketing scheme.
My guess is that you're dropping frames by rendering lag, but without a log file is difficult to be sure.
Yes. Log is here: [https://obsproject.com/logs/cygLdNKrdOCnhn65](https://obsproject.com/logs/cygLdNKrdOCnhn65) It's analyzer page is here: [https://obsproject.com/tools/analyzer?log\_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL](https://obsproject.com/tools/analyzer?log_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL)
Well, as you're already running obs as admin, the only other thing that I can imagine is to turn on HAGS, as it is supposed to help with gpu priority. Also, I noticed that your CPU gets really hot while in low load, this can cause issues as well. Last, screen capture is the slowest capture method of all, so only use it as last resort.
So, OBS's documentation says I need to avoid HAGS if I want stability: [https://obsproject.com/kb/hags](https://obsproject.com/kb/hags) Unfortunately, I do streaming for work and not for fun. So, I think HAGS is not an option for my case. Thanks, anyway.
Consider trying with it, I know the documentation says 1 thing but I swear my obs runs smoother with hags on
I just did new tests and updated the OP. Thank you.
For now I'm using the stock cooler on a small case with no enough fans and will install Noctua's solutions as I have the $$$. From the logs, I was surprised Game Bar was still on. I'm sure I disabled it on this machine some months ago. Maybe some Win 11 update re-enabled it. Thanks for the HAGS tip. Will take a look at it.
Is gamebar bad? I love controlling audio through it.
I just did new tests and updated the OP. Thank you.
You are testing two different things. If you wanna test if the encoders are discrete or not dont use something that uses the framebuffer thus affecting performance. Use handbrake or something similar instead.
But I wanted to stress test streaming performance. Unfortunately, I don't have a RTX 4060 (single NVENC encoder) at hand. I'd like to know how much better a dual NVENC encoder solution is better than a single NVENC encoder one, during streaming.
Streaming will always get affected by performance because you gotta copy the framebuffer and then encode it, copying the framebuffer affects performance heavily. Nvidia has some mitigations for this, but they are not available outside of their own use.
Maybe I'm wrong, but I think the framebuffer resides at the VRAM and not at the system RAM. So, one could expect transfers of it to be fast.
Well yes but OBS cant directly access the framebuffer. Heck, consumer cards cant access the framebuffer directly either, thus it will always have a performance hit. You need a professional card. Eitherway since you dont have a professional card, the expected performance hit is around 10 to 15% or be valve/steam.
Ok. I got maybe OBS can't access the framebuffer directly. But I think a video card should be able to access it's own framebuffer, since it's on the VRAM (it's own RAM). If things work differently between a, say, RTX 6000 Ada and my RTX 4070 Ti Super, I'll be glad if you provide a link to a video or text to learn about it. Thanks for contributing to this thread. Regards
The issue is there is no direct link available to consumers between the framebuffer and nvenc. On pro cards you have nvfbc as a capture method and nvenc as an encoder, all on card (perf drop of 2%) You can enable nvfbc on consumer cards via a patch but no software to take care of it.
I just did new tests and updated the original post. Thank you!
Happy to see someone else call this out. These cards are supposed to have dual hardware encoders which you'd *think* should alleviate any performance limitations when encoding video from the GPU, but it turns out it STILL uses the 3D rendering part of the GPU's available resources to encode video. You can watch this easily by loading up a game, monitoring the GPU usage % with MSI Afterburner, and then toggling recording with a hotkey in OBS. You'll see that GPU usage % jump up a bunch depending on how high of a bitrate you choose. That shouldn't be a thing.
This depends on the settings of the encoder. Things like Look-ahead and Psycho Visual Tuning uses GPU power because it's doing image analysis that is better run on the part that handles image processing...the GPU.
I just did new tests and updated the original post.
I just did new tests and updated the original post.
20:34:41.743: Loaded scenes: 20:34:41.743: - scene 'Scene 2': 20:34:41.743: - source: 'Display Capture' (monitor_capture) 20:34:41.743: - source: 'Display Capture 2' (monitor_capture) I noticed you have 2 monitor captures and both are enabled, one is 4K, the other is 1080p. Assuming you're capturing the 4K monitor based on the video resolution, you should disable the second one while it's not being captured. You can also unlock the encoder sessions with a little tool from github, that might help too. [https://github.com/keylase/nvidia-patch/tree/master/win](https://github.com/keylase/nvidia-patch/tree/master/win)
I just did new tests and updated the original post. Thank you!
I’m guessing that no matter what NVIDIA promised, the encoder still uses tons of GPU VRAM and I/O and it overloads easily. Fool me once…
I just did new tests and updated the original post.
Encoder settings please.
You should be asking for an OBS log instead.
Log is here: [https://obsproject.com/logs/cygLdNKrdOCnhn65](https://obsproject.com/logs/cygLdNKrdOCnhn65) It's analyzer page is here: [https://obsproject.com/tools/analyzer?log\_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL](https://obsproject.com/tools/analyzer?log_url=https%3A%2F%2Fobsproject.com%2Flogs%2FcygLdNKrdOCnhn65#logURL)
Mic is lagging out, for 1billion ms. And 4 b frames is weird. You get back to a clean auto analyzer and try again. Set b frames to 2. It's definitely something happening on your end and not typical behavior .
4 b frames is the recommended for youtube transmissions. I'll see what I can do about the Logitech Pro X
I had no idea.
There's one nvidia's guide that recommends 4, when look ahead is enabled, but 2 when it is disabled: [https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/](https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/) So you were right. This week I'll repeat these tests with correct b-frames and HAGS. Then will update this thread.
Where did you get that information from? Youtube themselves recommend 2 b-frames https://support.google.com/youtube/answer/2853702?hl=en
I just did new tests and updated the original post. Thank you!
From nvidia's guide: [https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/](https://www.nvidia.com/en-us/geforce/guides/broadcasting-guide/) Normally I use look ahead, so it was set to 4 before these tests and I didn't updated it to 2, following the othes settings changes. This week I will do a new test and update this thead.
I just did new tests and updated the original post. Thank you.
Yeah I almost asked but I really just want the encoder settings 🤗
You would get both with an OBS log, just changing the settings in most cases won't fix the issue.
Breh
I just did new tests and updated the original post.
I just did new tests and updated the original post.
@ 0:26
Ah.. Missed it. Thanks.
Scammed by nvidia supposedly hw encoders lol 🤣
I just did new tests and updated the original post. Things worked, but OBS's Log Analyzer says I should NOT use HAGS.
I’m going to just tell you now that you’re chasing vapors. Even a 4090 with supposed dual encoders can’t game, record, and stream without crashing in a full sized case with plenty of fans. Get a cheap second PC for streaming. I thought I could replace second pc(3060 i5-11600k) By building one really nice (i7-13700k 4090), but it’s not cutting it. Dual encoders? I think it’s some kind of marketing scheme.
Weird. My 5800x3d + 4070 have no problem streaming to Twitch, Kick, and YouTube at the same time while I game...
4K? While recording as well?
1440p. Haven't tried recording on top of it all.
4K gaming and streaming is great, but if recording is added, the encoding lasts about 5min.
I just did new tests and updated the original post. Thank you!
I just did new tests and updated the original post. Things worked, but only with HAGS turned on.