Question / Help The ongoing saga with SLI

koala

Active Member
I would not sink too much time into troubleshooting SLI configurations. It seems with modern hardware SLI isn't really worth the small performance increase in the light of the many problems it brings with it. Run single-GPU, get a small performance impact of a few percent and get rid of all the SLI-induced problems that work against your productivity.

There are quite some in-depth articles with benchmarks about SLI behaving in current (2018) hardware. For example:
https://us.hardware.info/reviews/8113/crossfire-a-sli-anno-2018-is-it-still-worth-it
https://www.computerbase.de/2018-07/crossfire-sli-test-2018/
For more, google "sli performance 2018".

It's worth browsing. The general conclusion of all the in-depth reports is a recommendation against SLI. The performance SLI adds according to the benchmarks is often not even more than 1-2 percent, and in best case for some selected games not more than 30%, while bringing many problems like micro-stutters or instable game behavior.
 

BK-Morpheus

Active Member
Shadowplay is using a direct low latency buffer access (NVFBC), that no 3rd party software can use. It accesses the frame directly on your graphics card and encodes it with the NVENC part of the GPU. After that, the encoded videostream is transfered to windows. So this ways the frame access is much faster than with any other software and the PCIe load is much lower.
Would be cool, if Nvidia would allow other programs to use this way of accessing the frame buffer as well.
https://www.reddit.com/r/nvidia/comments/5mes9h/shadowplay_nvenc_nvfbc_nvifr_what_do_they_mean/
 

BK-Morpheus

Active Member
Osiris is right, I totally forgot to mention the additional GPU workload that needs to be done for scaling/filtering and composing the scene.
 
Ok, so nVidia is cheating. got it.

So, I went down to one video card, and surprise. 16 bit lane.
1539387822852.png


Is this a BIOS setting, or a motherboard limitation or a restriction of the video cards I'm using or...?

Gonna do a run on OBS with the single card and see how it looks. I'll post it here.
 

Harold

Active Member
it's not a 16-bit lane.
It's 16 pci-e lanes

and it's a physical limitation imposed by the processor.
 
I'm not going to post the run with the single video card. the gtx970 isn't powerful enough alone to run the game at 2560x1600 and also stream through obs at 2560x1440 at 60fps. I was getting 30ish fps with just the one card, so it's not powerful enough and with two cards, there's a CPU limitation.

That leaves me with, is there a CPU for this motherboard that would allow both cards to run at 16 pci-e lanes, or am I stuck with Shadowplay?
 

koala

Active Member
No consumer processor+chipset supports more than a maximum of 1x16. The usual maximum pci-express configuration according to ark.intel.com is "1x16, 2x8, 1x8+2x4". All these mainboards will run 2 GPUs with x8 (and 3 GPUs with 1x8 and 2x4).

According to this benchmark, the performance score of one gtx 970 is 8595, of one gtx 1080 is 12322 and of one gtx 1080 Ti is 14068. The 1080 has 43% higher score than the 970, and the 1080 Ti has 64% higher score. Two used gtx 970 are about 2x$150, one 1080 is about $500.
This performance increase is working with every game you run and this is what you should pursue, not trying to force a sli setup that will never work as smooth for everything you do as a single gpu setup.
 
My dual 970's
1539411318069.png


vs a single 1080
1539411340487.png


Keep in mind that only OBS is an issue. Every game I run sits at 100+ FPS. When I use OBS for anything EXCEPT gaming, it's beautiful. No crashes, no problems. Solid. If completely redoing the video hardware on my computer is the only solution to fixing this issue, then OBS simply doesn't meet my needs. I appreciate all the help you all have provided. Thanks :)
 

Osiris

Active Member
All the popular streaming programs use the GPU for compositing, I know of no other software with the same featureset that could help.
OBS cannot access the framebuffer of the second card in SLI, so it only receives half of the frames, you can solve that a bit by using the SLI checkbox in game capture, but that comes with a performance hit.
 
Your route to this decision was a way too long ^_^

Probably, but I wanted the experts to give it a solid try. If there was some hidden command line value or some other obscure setting that would have solved or mitigated the problem, I wanted to be able to say I tried everything. I promote OBS to all of my other friends and streamers and I didn't want to believe there was something it simply couldn't do. I will continue to promote it, but in doing so, I will have to add the question "you're not running SLI are you?". I will continue to use it for my podcast and just use Shadowplay for game streaming.
 

koala

Active Member
SLI is primarily a marketing item. It makes gamers buy 2 cards instead of 1. Unfortunately, SLI has a very narrow use case: it is designed for running games a bit faster that are willing to deal with a few graphics engine constraints. The lower pci-express bandwidth isn't important with just running a game, because you load the graphics assets into GPU memory once, sometimes even hidden behind a loading screen, and then they are served from this memory without pci-express bus load.

But capturing frames from the GPU needs permanent pci-express bus throughput. It's a completely different thing than just gaming. With a SLI setup, every other frame is produced on "the other" GPU, and to composite a complete video, every other frame has to be transported from "the other" GPU to the GPU the composer (OBS) is running on. This is double the pci-express bus load on an already halved bandwidth interface. It's doable in general up to a certain screen resolution, but the load may congest the pci-express bus sometimes, resulting in slight lags on it, adding to already existent lag challenges the exact timing and synchronization of the alternating frame production on the 2 GPUs.

To stream a SLI system, I assume you should use a capture card and stream from a 2nd PC.
 
SLI is primarily a marketing item. It makes gamers buy 2 cards instead of 1. Unfortunately, SLI has a very narrow use case: it is designed for running games a bit faster that are willing to deal with a few graphics engine constraints. The lower pci-express bandwidth isn't important with just running a game, because you load the graphics assets into GPU memory once, sometimes even hidden behind a loading screen, and then they are served from this memory without pci-express bus load.

But capturing frames from the GPU needs permanent pci-express bus throughput. It's a completely different thing than just gaming. With a SLI setup, every other frame is produced on "the other" GPU, and to composite a complete video, every other frame has to be transported from "the other" GPU to the GPU the composer (OBS) is running on. This is double the pci-express bus load on an already halved bandwidth interface. It's doable in general up to a certain screen resolution, but the load may congest the pci-express bus sometimes, resulting in slight lags on it, adding to already existent lag challenges the exact timing and synchronization of the alternating frame production on the 2 GPUs.

To stream a SLI system, I assume you should use a capture card and stream from a 2nd PC.

I have a friend who's rig is pretty similar to mine. You can see the Novabench scores above. It's not exact, but they're close. For roughly half the cost, my SLI setup clearly outperforms his single card and not just on Novabench. He struggles to stream much higher than 1080p with Shadowplay where I can do 1440p easily. We compare FPS on games like SMITE, GuildWars 2, Overwatch, and WoW and I'm consistently above him on everything. Remember, I spent just over $300 for the two cards and he spent just over $500 for one. SLI may be a marketing ploy, but I've found (and proven) it to be a viable platform with real world advantages in price and performance.

As far as streaming, Shadowplay will do for now. I'll keep this issue in mind for my next PC build.
 
I really can't thank you guys enough. You really went the extra mile to diagnose what's going on and to put the explanation into common terms for someone who's fairly non-technical. You don't get this level of support even from paid services. Y'all rock!
 

Zimmyantz

New Member
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.

I've got the same issue with my 970 SLI setup, even with using a 2nd streaming pc, so the issue is definitely the SLI configuration.
This was my thread: https://obsproject.com/forum/threads/works-but-its-not-smooth.96336/#post-377595
I'm personally going to just upgrade to a single beefy card and forego the SLI headaches.
 

lm1z

New Member
What did you limit your game's framerate to?
I had a similar issue and limited it to the refresh rate of my gaming monitor.

I also was able to fix this problem by enabling vSYNC. However, I hated the input lag.

I know this is a basic suggestion, but I went down the same path as you - this was the only fix except for building a 2nd dedicated streaming PC (with capture card) or disabling SLI. Zero issues with cloning displays and sending a 60FPS signal to 2nd PC capture card regardless of game.
 

BK-Morpheus

Active Member
You could use an fps limit of 60 but without Vsync to keep the GPU load under control while not suffering too much from input lag (the 60fps limit without Vsnyc has less input lag then with Vsync enabled).
 
Top