Question / Help The ongoing saga with SLI

Two 970gtx's and Intel i7-8700 cpu and no matter what setting I try, SMITE Game Capture always stutters. SLI/Crossfire capture mode makes no difference. Limiting the game's frame rate, no difference. Changing OBS's settings in the nVidia panel, no difference. Running the game fullscreen or fullscreen(windowed), no difference. NVENC or 264 encoding, no difference. Actually, nothing makes a difference.

With SMITE and OBS running, My cpu sits at about 30 percent. The four GPU's sit around 46%. The game itself is, of course, smooth as silk.

If your suggestion has any reference to hardware, please don't post.
- Telling me to get a single card or remove one of the 970's isn't and option and doesn't help.
I've walked through everything I could think of with several online friends who use OBS and we're all shaking our heads.
Happy to upload a log if you think it will be useful.

Oh, and using nVidia's GeForce Experience to stream at 1440p is like glass. It's not the connection.

Really interested to see if anyone can crack this egg.
 

BK-Morpheus

Active Member
Can you upload a screenshot of GPU-Z so we can see, if both cards are connected with PCIe x16 and a log file of a streaming attempt?
 
1539241250696.png


https://obsproject.com/logs/YQ3tyKeRi2hUpW7W

Hopefully that's the info you needed. Please let me know if you need anything else. Thanks for your time :)
 

BK-Morpheus

Active Member
As the framebuffer access of OBS is increasing the PCIe bandwidth load a lot, it's important, to keep a GPU setup with PCIe x16.
At least from the GPU-Z infos, your cards are both running with reduced PCIe bandwidth (@x8 1.1), but if I remember correctly, this Info could be wrong, if there is no GPU load.
Can you check, if the Bus Interface stays @ x8 when you start a game?
 

Osiris

Active Member
Only the pci-e version increases when there is load. But only having 8x of bandwidth available for a single card can definitely be problematic.
Having 2 cards installed with a CPU that only provides 16 pci-e lanes is not really the best idea.
 

Suslik V

Active Member
The log-file is not full. While you are not using SLI (from the log) - you need to make unchecked the option from the 'Game Capture' source that says about SLI/Crossfire. Edit: and option Compatibility from 'Window Capture' (if any).

Edit 2: Game recording functions of Windows not recommended. NVIDAI's shadowplay not recommended too.
 
Last edited:
As the framebuffer access of OBS is increasing the PCIe bandwidth load a lot, it's important, to keep a GPU setup with PCIe x16.
At least from the GPU-Z infos, your cards are both running with reduced PCIe bandwidth (@x8 1.1), but if I remember correctly, this Info could be wrong, if there is no GPU load.
Can you check, if the Bus Interface stays @ x8 when you start a game?
1539265458354.png


It switches to x16 under load.
 
The log-file is not full. While you are not using SLI (from the log) - you need to make unchecked the option from the 'Game Capture' source that says about SLI/Crossfire. Edit: and option Compatibility from 'Window Capture' (if any).

Edit 2: Game recording functions of Windows not recommended. NVIDAI's shadowplay not recommended too.

I've turned off "SLI/Crossfire Capture Mode (slow). I'm concerned the log is only seeing Adapter 1 and not Adapter 2. Is that normal? Here's the new log. https://obsproject.com/logs/-KKRkS2OCy35gjTh
 
Last edited:

Suslik V

Active Member
I see only capture hook errors from the log, why do you think that this is hardware failure (the stuttering you said). Can you provide full log-file from the recording attempt?

And again, SLI is not the best option to capture games with OBS Studio running on the same PC. Do you need more info?
 

BK-Morpheus

Active Member
Some of the stutter might come from the reduced PCIe bandwidth. The second GPU is taking away 8 of the 16 PCIe lanes. OBS performance will be better with just one card or a CPU+Mainboard that can support 2x PCIe @x16
 
I see only capture hook errors from the log

The reason you see hook errors is because I start OBS before SMITE. OBS starts, doesn't see SMITE, gets errors until I start SMITE, then the errors go away.

why do you think that this is hardware failure (the stuttering you said).

This is not a hardware failure. I've already been in contact with Aorus and Zotac who have had me run hardware diagnostics on the machine and both manufacturers agree that the hardware is configured and working correctly.

Can you provide full log-file from the recording attempt?

This problem appears before any recording is done. It appears clearly on the OBS screen without hitting the "start streaming" or "start recording" buttons.

And again, SLI is not the best option to capture games with OBS Studio running on the same PC. Do you need more info?

This is simply saying that OBS doesn't properly support SLI which seems relatively ridiculous to me. I appreciate the effort, but if OBS can't handle SLI, it's not SLI's fault. SLI is a legitimate configuration and I have no issues with any other software on my machine when it comes to my video configuration.
 

BK-Morpheus

Active Member
SLI with both cards at full PCIe x16 speed can work (although SLI is still way more tricky in many scenarios, even in OBS).
Maybe someone with a CPU and Mainboard that supports full x16 bandwidth with two GPUs can test it, but in your case we won't know for sure, if it's a problem between OBS+SLI or simply the reduced PCIe bandwidth.
Running games with both cards at PCIe x8 is no problem at all, but when a capture software like OBS (that has no the direct nvidia low latency buffer access) is additionally accessing the framebuffer, the needed PCIe bandwidth increases drastically.

There are other people in this forum that even have those problem with 2x Nvidia GPU that are not even running in SLI, just because they thought that they could improve the OBS rendering and NVENC performance by ditching those workloads to an older secondary GPU. Some of them also reduced their PCIe lanes by installing the second GPU and they got stutter problems as well (without running SLI).
 
Some of the stutter might come from the reduced PCIe bandwidth. The second GPU is taking away 8 of the 16 PCIe lanes.

Both cards utilize the 16 PCIe lanes under load. Notice the different BIOS values showing that this screenshot is indeed showing two different cards. Zotac claims the BIOS value difference is inconsequential and recommends against making them the same.

1539289545869.png
1539289573778.png


OBS performance will be better with just one card or a CPU+Mainboard that can support 2x PCIe @x16

I'll remove a card and test it. I think it's ludicrous that I have to intentionally remove hardware from my computer to make a software program run as intended. I'm willing to try it though. If it resolves the problem, however, it still only proves that OBS can't handle dual video cards properly.
 
https://obsproject.com/logs/sp92xsh7sB5Ssqzx

In this scenario, I started SMITE first, THEN started OBS. You'll note the hook failure messages are gone. Again, OBS does not see the existence of a 2nd video card...

16:38:08.240: ---------------------------------
16:38:08.240: Initializing D3D11...
16:38:08.240: Available Video Adapters:
16:38:08.241: Adapter 1: NVIDIA GeForce GTX 970
16:38:08.241: Dedicated VRAM: 4133879808
16:38:08.241: Shared VRAM: 4263526400
16:38:08.241: output 1: pos={0, 0}, size={2560, 1600}, attached=true
16:38:08.241: output 2: pos={-2560, 0}, size={2560, 1600}, attached=true
16:38:08.241: output 3: pos={2560, 0}, size={2560, 1600}, attached=true
16:38:08.243: Loading up D3D11 on adapter NVIDIA GeForce GTX 970 (0)
16:38:08.296: D3D11 loaded successfully, feature level used: 45056
16:38:08.832: ---------------------------------

... even though the system certainly does

1539290605551.png


where is Adapter 2: ?
 
This is the performance of the PC that rainmeter reports while I'm playing the game...

1539291410714.png


I haven't been able to locate the address for the 2nd Memory Clock value, but that's just a rainmeter configuration issue I haven't had time to tackle yet :)
 

BK-Morpheus

Active Member
Both cards utilize the 16 PCIe lanes under load. Notice the different BIOS values showing that this screenshot is indeed showing two different cards. Zotac claims the BIOS value difference is inconsequential and recommends against making them the same.

View attachment 40022View attachment 40023



I'll remove a card and test it. I think it's ludicrous that I have to intentionally remove hardware from my computer to make a software program run as intended. I'm willing to try it though. If it resolves the problem, however, it still only proves that OBS can't handle dual video cards properly.
Hm, I only see both Cards with PCIe x16 3.0 @ only x8 but if that changes back to x16 under load, it's fine (although that would be strange..usually in IDLE just the Interface standard changes from 3.0 to 1.1 while PCIe lanes stay the same).
 

Suslik V

Active Member
Without profile data of obs (inside full-log, after recording finished and obs restarted - Last Log File) is hard to say what is wrong. But if you want to know more about how SLI is "slow" for OBS capture, read info from the developer (the ...There are two "game capture" techniques through hooks... part): https://obsproject.com/forum/threads/any-changes-with-an-upgraded-video-card.40855/#post-184243 ,
that is why the mentioned bandwidth (x16) of the GPU to CPU memory important. To perform some tests - reduce the resolution of the Base (Canvas) in OBS Studio, and reduce the Framerate of the capture in OBS, lets say to 1280x720@30fps. (Game is capped at 30fps! - if no, then it is hard to test anything)

If you need SLI mode - buy second PC with capture card in it - connect desirable display device to it and use OBS Studio on this second PC. Or you may just remove one of your cards, to see if the all "x16" lanes will become available to you. And shared texture capturing will start to do their magic...

About second video card detection - try to plug display device to it.
 
Top