Jump to content

SLI - Scan Line Interleave? Scalable Link Interface? What happened?

SixtyDashOne

I was replying to the SLI Master Race thread because I recently got a second 980 to run in 2-way SLI, which is my first foray into multiple GPU's since the late 90's when I was running 2 x 3dfx Voodoo 2's. I recalled that, back then, SLI stood for "Scan Line Interleave" and each card shared the VRAM workload in drawing alternating horizontal scan lines. Card 1 drew row 1, card 2 drew row 2, card 1 drew row 3, card 2 drew row 4, card 1 drew row 5 and so on. Thus, adding a second video card was actually doubling the available VRAM.

 

I fell out of PC gaming for about 10 years, and when I returned, I learned that SLI rigs no longer increased available VRAM. I found this puzzling, because I knew SLI to mean "Scan Line Interleave" and this was a technology that was working some 20 odd years ago, and at some point (inexplicably?) went away and has been absent since, though Mantle and/or DX12 may provide for "stacking" VRAM... which would be a return to the tech we'd been enjoying ~20yrs ago... yay?.

 

I also learned that SLI now stands for "Scalable Link Interface", which I suppose accounts for SLI no longer behaving like the SLI as I knew it back in the late 90's.

 

I've read the Scan Line Interleave wiki page and though it cites "technical issues", it seems that "Scalable Link Interface" has had its fair share of issues in the past as well. FWIW, I was a hardcore PC gamer with those Voodoo 2's and never ran into any issues. Back then, there was no talk of SLI profiles, and "microstutter" was not even a thing.

 

I'm wondering why the market seemingly abandoned the Scan Line Interleave technology, which in my experience was working perfectly fine, only to revisit the tech ~20yrs later and tout it as a potential showcase feature for the upcoming Mantle and DX12 API's.

 

I'm curious to hear any explanations / theories as to why the Scan Line Interleave went away. Had we reached the point where we simply did not need to increase our VRAM, or was the market just dumb for abandoning the tech? Or, was it something else altogether?

Gaming Rig: Asus Z87 Pro, i5-4670k, EVGA Supernova 1000 P2, Corsair Carbide Air 540, NZXT Kraken X60, G.SKILL Ripjaws X (4 x 8GB @ 2133), 2 x EVGA GTX 980 SC, Samsung 850 Evo 500GB, Samsung 840 Pro 256GB, 2 x HGST Deskstar NAS 4TB 7200rpm

Plex Server/Couch Gamer: Gigabyte Z97MX Gaming 5, i7 4790k, Corsair HX750, Fractal Node 804, Deepcool Captain 240 AIO, G.SKILL Sniper Series (4 x 8GB @ 1866), MSI Lightning 780, Samsung 850 Evo 500GB, HGST Deskstar NAS 4TB 7200rpm.

Link to comment
Share on other sites

Link to post
Share on other sites

Heyyo,

3DFX, the company behind SLI and those Voodoo 2's you talk of? They made some terrible business descisions and were going bankrupt and NVIDIA bought them out... pretty much when DirectX was really starting to take off? The majority of 3DFX cards could only render it in software mode which made games that didn't support OpenGL almost unplayable... that plus they weren't really interested in competing with ATi and NVIDIA with agressive pricing of their products and sadly 3DFX Glide didn't really take off either despite an original strong following of support.

So? NVIDIA kept the technology behind 3DFX's SLI and it was under revision for use with DirectX and NVIDIA's Geforce GPU lineups. The majority of engineers joined NVIDIA but there's still a bunch that decided to go the other way and join ATi and work with them to port Multi-GPU technology and help work on their future architectures at the time which was the X1000 GPU series.

That's how NVIDIA and AMD (who bought out ATi) have similar multi-GPU technologies. NVIDIA's SLI is essentially the sucessor to 3DFX's old setup. Due to varying 3D APIs at the time and DirectX and OpenGL didn't seem to care much about multi-GPU setups? VRAM sharing between GPUs have taken a back seat.. until now. So now with the upcoming DirectX 12 and Vulkan will we finally see proper multi-GPU support and get what was lost so long ago with 3DFX Glide and Voodoo GPUs.

Heyyo,

My PC Build: https://pcpartpicker.com/b/sNPscf

My Android Phone: Exodus Android on my OnePlus One 64bit in Sandstone Black in a Ringke Fusion clear & slim protective case

Link to comment
Share on other sites

Link to post
Share on other sites

The only way I might be able to contribute is by adding that Scalable Link Interface, unlike Scan Line Interleave, is more based on the shared power of two or more GPU's, essentially meaning that instead of using the two cards as SEPARATE CARDS (like 3dfx's method), the two are treated in the same way as SMP processing. In the old days, each graphics card was responsible for an alternating load to carry, but if the loads were imbalanced (the process assigned to GPU one is more intensive than the one assigned to GPU two, for example), there would be visible stutters and frame rate dips as GPU two waits for GPU one to finish before outputing its render. However, with Nvidia's implimentation, the two processors share the same VRAM data, and instead the loads are more evenly balanced across both cards. The two cards work together to render data in VRAM, as apposed to evenly splitting up the workload and having half the data in each card's VRAM. That's why modern SLI doesn't scale buffer space, it mainly scales processing capacity.

Link to comment
Share on other sites

Link to post
Share on other sites

Heyyo,

A good video to check out btw?

Lazy Game Reviews talks about it a little more than I did.

Heyyo,

My PC Build: https://pcpartpicker.com/b/sNPscf

My Android Phone: Exodus Android on my OnePlus One 64bit in Sandstone Black in a Ringke Fusion clear & slim protective case

Link to comment
Share on other sites

Link to post
Share on other sites

Considering that both Crossfire and (new)SLI both work the same way, it suggests that it was not a deliberate decision on Nvidia's part to scrap the way (old)SLI worked, but rather a more global limitation that both ATI and Nvidia engineers ran into (most likely DirectX). It also occurs to me that multi-gpu setup's were not really necessary in the late 90s and noughties, but maybe that is just my perception of that time period.

 

In recent years, crossfire and SLI seem to have suddenly picked up, especially with the increase of eyefinity/surround setups, and high resolution displays. The issue of VRam seems to be a more recent phenomenon. 5 years ago you were still good with 512MB of VRam, but that number has been doubling every year or two since then it seems, and is probably the reason why consumers and game developers are demanding access to all the VRam on a system, and why microsoft is suddenly opening up the directx API to accommodate that. I might be wrong, but it seems in this case that necessity is the mother of (re)invention.

R9 3900XT | Tomahawk B550 | Ventus OC RTX 3090 | Photon 1050W | 32GB DDR4 | TUF GT501 Case | Vizio 4K 50'' HDR

 

Link to comment
Share on other sites

Link to post
Share on other sites

Heyyo,

Considering that both Crossfire and (new)SLI both work the same way, it suggests that it was not a deliberate decision on Nvidia's part to scrap the way (old)SLI worked, but rather a more global limitation that both ATI and Nvidia engineers ran into (most likely DirectX). It also occurs to me that multi-gpu setup's were not really necessary in the late 90s and noughties, but maybe that is just my perception of that time period.

 

In recent years, crossfire and SLI seem to have suddenly picked up, especially with the increase of eyefinity/surround setups, and high resolution displays. The issue of VRam seems to be a more recent phenomenon. 5 years ago you were still good with 512MB of VRam, but that number has been doubling every year or two since then it seems, and is probably the reason why consumers and game developers are demanding access to all the VRam on a system, and why microsoft is suddenly opening up the directx API to accommodate that. I might be wrong, but it seems in this case that necessity is the mother of (re)invention.

Exactly my friend. :)

FHD (1080) resolution has been king for a long time too.. but with the recent jump up to 4K resolutions and now the number keeps going up? It has also been really chewing into VRAM. Plus texture resolutions on PC are getting bigger and doing away with texture compression which was rampant in the 90s has also really eaten into VRAM.

I still remember back in the day? The only way to achieve FHD resolution on the first FHD monitors was 3DFX Voodoo 2's in SLI lol. Hardcore. ;)

I used to own a 3DFX Voodoo 4 32MB PCI videocard. That thing was awesome heh. 3DFX Glide on Unreal Tournament 1999 was fantastic. I think the last game to officially support 3DFX Glide was Serious Sam: The First Encounter which came out on March 1st, 2001... so about a year after 3DFX threw in the towel and NVIDIA acquired them.

Tbh I wish I still had my 3DFX Voodoo 4 32MB PCI card... it's now a piece of history. Then again, it's not as famous as the Voodoo 2 or 5 6000 but meh, it still came out at a time when 3DFX was starting to struggle... nowadays? 3DFX cards have become something of a collectors item. I remember seeing a 3DFX Voodoo 5 6000 selling for something like $2000 USD lol, so that's pretty awesome. :P

Heyyo,

My PC Build: https://pcpartpicker.com/b/sNPscf

My Android Phone: Exodus Android on my OnePlus One 64bit in Sandstone Black in a Ringke Fusion clear & slim protective case

Link to comment
Share on other sites

Link to post
Share on other sites

I was replying to the SLI Master Race thread because I recently got a second 980 to run in 2-way SLI, which is my first foray into multiple GPU's since the late 90's when I was running 2 x 3dfx Voodoo 2's. I recalled that, back then, SLI stood for "Scan Line Interleave" and each card shared the VRAM workload in drawing alternating horizontal scan lines. Card 1 drew row 1, card 2 drew row 2, card 1 drew row 3, card 2 drew row 4, card 1 drew row 5 and so on. Thus, adding a second video card was actually doubling the available VRAM.

 

I fell out of PC gaming for about 10 years, and when I returned, I learned that SLI rigs no longer increased available VRAM. I found this puzzling, because I knew SLI to mean "Scan Line Interleave" and this was a technology that was working some 20 odd years ago, and at some point (inexplicably?) went away and has been absent since, though Mantle and/or DX12 may provide for "stacking" VRAM... which would be a return to the tech we'd been enjoying ~20yrs ago... yay?.

 

I also learned that SLI now stands for "Scalable Link Interface", which I suppose accounts for SLI no longer behaving like the SLI as I knew it back in the late 90's.

 

I've read the Scan Line Interleave wiki page and though it cites "technical issues", it seems that "Scalable Link Interface" has had its fair share of issues in the past as well. FWIW, I was a hardcore PC gamer with those Voodoo 2's and never ran into any issues. Back then, there was no talk of SLI profiles, and "microstutter" was not even a thing.

 

I'm wondering why the market seemingly abandoned the Scan Line Interleave technology, which in my experience was working perfectly fine, only to revisit the tech ~20yrs later and tout it as a potential showcase feature for the upcoming Mantle and DX12 API's.

 

I'm curious to hear any explanations / theories as to why the Scan Line Interleave went away. Had we reached the point where we simply did not need to increase our VRAM, or was the market just dumb for abandoning the tech? Or, was it something else altogether?

 

In short, 3D  rendering got more complicated.  This is my basic understanding, but it's entirely possible I'm completely wrong.

 

 

There used to be several different techniques for multi GPU hardware, but over the years it has been distilled into alternate frame rendering as it is the easiest solution to implement. (And even then, some games still can't support it due to how they render stuff in the game.  For example Company of Heroes 2 doesn't support multi GPU because of how they render the snow.)

 

The reason Mantle and DX12 offer this capability again is because they removed a lot of overhead.  Previously the problem with this method of rendering is as the amount of STUFF being rendered increased not only do you need more memory but you also can't predict as easily what you need to be available in the GPU's memory.  If something isn't in the GPU's memory when it needs to be displayed this is going to slow things down.  This essentially means that you end up having to have all the same things in your GPU memory anyway, and at that point it's easier to render separate frames than it is to merge frames from two GPU's.  With less overhead it's much faster to put things in and out of the GPU's memory on the fly without hurting performance which makes stacked VRAM a possibility again.

 

Check out this blog as I think it might help explain, and it's also pretty interesting on its own.

http://simonschreibt.de/gat/renderhell/

 

 

Personally I don't think you're going to see that many games opt in for this feature.  AFR is tried and true and easier for devs to implement.  The mantle version of Civ Beyond Earth does support tiled based rendering for crossfire though and it worked great when I tried it.

4K // R5 3600 // RTX2080Ti

Link to comment
Share on other sites

Link to post
Share on other sites

IT acronyms do change over time; when I did my Window 2000 MCP test RAID stood for Redundant Array of Inexpensive Disks but not anymore.

Link to comment
Share on other sites

Link to post
Share on other sites

Personally I don't think you're going to see that many games opt in for this feature.  AFR is tried and true and easier for devs to implement.  The mantle version of Civ Beyond Earth does support tiled based rendering for crossfire though and it worked great when I tried it.

AFR is "tried and true" for sure, but SFR is going to need to come back for many engines, and it will allow many engines to use SLI/CrossfireX whereas before they could not.

Engines like ID Tech 5 and Unreal Engine 4 require frame buffer knowledge from previous frames for their respective technologies to work, and since with AFR you do not have previous frame knowledge, it could never work. SFR would combine vRAM once more (losing the memory access benefits that AFR brings, however, which is more reason why HBM is becoming a thing, and why Maxwell has implemented such strong memory bandwidth optimizations) and tech like SMAA's temporal filter would be applicable to multi-GPU configurations too. Nobody but nVidia knows why TXAA's temporal filter is capable of working in multi-GPU configurations without knowledge of previous frame information, but since it doesn't work for AMD and is an "improvement" over MSAA instead of being a full post-process form of AA like SMAA is, the whole SFR deal would be a fantastic idea.

I have finally moved to a desktop. Also my guides are outdated as hell.

 

THE INFORMATION GUIDES: SLI INFORMATION || vRAM INFORMATION || MOBILE i7 CPU INFORMATION || Maybe more someday

Link to comment
Share on other sites

Link to post
Share on other sites

There is no way to know beforehand which part of a texture will be used by which GPU, so they're available on BOTH GPUs as transferring them on the fly would take WAY to much time (from DDR3(4nowadays) over PCIe x16 to GDDR5 (much faster than all the other things). 

Link to comment
Share on other sites

Link to post
Share on other sites

There is no way to know beforehand which part of a texture will be used by which GPU, so they're available on BOTH GPUs as transferring them on the fly would take WAY to much time (from DDR3(4nowadays) over PCIe x16 to GDDR5 (much faster than all the other things). 

Yes, the texture data is copied between GPUs, sure. But the previous frame's frame buffer data is not available to the other GPU in AFR mode, and is necessary for some technologies.

I have finally moved to a desktop. Also my guides are outdated as hell.

 

THE INFORMATION GUIDES: SLI INFORMATION || vRAM INFORMATION || MOBILE i7 CPU INFORMATION || Maybe more someday

Link to comment
Share on other sites

Link to post
Share on other sites

Heyyo,

3DFX Glide didn't have the issue since 3DFX Interactive set up their renderer to not suffer the same limitations that DirectX and OpenGL had and still currently have.

I still remember the early days when NVIDIA was trying to experiment with AFR of SFR where quad SLI setups would do SFR and then each pair of GPUs would alternate the split... in theory? It should have worked good... but due to 3D API limitations at play? It failed lol. Too much overhead and compatibility layers and CPU draw calls.

DirectX 12 definitely fixes it... well, at least from my own tests on 3DMark's API Overhead tests. How it benchmarks is to see how many draw calls per second the 3D API can handle before dipping below 30fps. The difference is quite staggering. The CPU is definitely quite the bottleneck in DirectX 11.

http://www.3dmark.com/aot/15670

DX11 Multi-threaded draw calls per second          2 807 763

DX11 Single-threaded draw calls per second       2 026 196

DX12 draw calls per second                                     7 721 031

DX11 Multi-threaded draw calls per frame            95 232

DX11 Single-threaded draw calls per frame         52 224

DX12 draw calls per frame                                       270 336

The only other thing I wish I could test was DirectX 12 in SLI Enabled... currently NVIDIA's DirectX 12 alpha test drivers don't support SLI, only works in single-GPU mode as my second GPU sits there idle spinning the fan. :P

Heyyo,

My PC Build: https://pcpartpicker.com/b/sNPscf

My Android Phone: Exodus Android on my OnePlus One 64bit in Sandstone Black in a Ringke Fusion clear & slim protective case

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×