SLI theory
While NVIDIA’s dual graphics card technology shares the same acronym as 3dfx, the underlying technology is completely different. 3dfx’s SLI technology worked by splitting the workload in half, one Voodoo2 card rendered the even lines on the screen, while the second card rendered the odd lines. The lines were then merged together to complete a full frame. The cards were linked together by an analog pass-through cable, with a second cable going to the 2D display. NVIDIA’s SLI, short for scaleable link interface is an entirely different animal from 3dfx’s scan-line interleaving technique.
NVIDIA SLI can work in one of two modes: alternate frame rendering, or split frame rendering. We’ll start with single frame rendering first.
Single frame rendering
Single frame rendering (SFR) mode in NVIDIA SLI works similarly to Metabyte’s PGC in the sense that the graphics card splits the workload horizontally across the screen. One card takes the upper portion while the second card takes the lower segment. The frame buffer data is then combined and sent to the monitor.
It’s important to note that SFR doesn’t necessarily split the screen directly down the middle; in some scenes the lower portion of the screen may be more complex than the upper portion, or vice versa. NVIDIA has developed custom load-balancing algorithms that are designed to take this into account, and split the screen appropriately – if one GPU takes longer to render, no problem, the driver just gives that GPU less work to do.
Alternate frame rendering
Up to now, ATI’s Rage Fury MAXX was arguably the most well known card to take advantage of alternate frame rendering. Rather than splitting the work up every frame like in SLI, with AFR, each graphics core handled alternate frames. Graphics core one would handle everything in frame 1, while graphics core two would then handle frame number 2. Each chip renders every other frame instead of alternating lines in the same frame, as 3dfx had done with scan-line interleave. If one GPU doesn’t finish drawing its frame, the remainder is pushed to the second GPU. This is the same concept NVIDIA has employed for their SLI technology, only we’re dealing with two distinct graphics cards, rather than two graphics cards on the same core.
The most well known downside with AFR has been perceived “lag” that may be felt by some twitch players in very fast-paced first-person shooters such as Quake 1 or Quake 3. The argument is that user inputs, such as a quick flick of your wrist to nail your opponent in mid-air with your rail gun may feel lagged. In theory, this could happen when the second AFR scenario we described occurs – GPU1 doesn’t finish its frame and the remainder is passed to GPU2 – there could be a lag between the key being pressed and the output being shown on the screen. Ironically enough, NVIDIA used this same argument to tout their GeForce 256 over Rage Fury MAXX five years ago.
We played a little Half-Life 2 (which uses AFR by default) to test out this theory, but didn’t perceive any additional lag during our “testing” sessions. Buffering kicks in when data is split between GPUs, and it appears to work well. Also keep in mind that today’s shooters aren’t as fast-paced as they were a few years ago.
Currently, AFR is NVIDIA’s preferred mode for SLI. In general, AFR uses less communications overhead (as no communications overhead between GPUs is used as long as frames are contained to each GPU), allowing it to scale better than SFR. NVIDIA also says that applications with heavy vertex loads benefit less from SFR.