So, the first method, Alternate Frame Rendering, means that the driver gives out four frames to the GPUs and each GPU processes its own frame. It looks like this:
So, this method is a variation of the ordinary dual-processor AFR and works in the same way. The difference is in the number of GPUs working together in the same graphics subsystem. Nvidia claims this method ensures the highest efficiency because it involves no balancing overhead. Each GPU is given a fair share of total work. With two GPUs, the performance growth is nearly two-fold and may amount to 90%. A quad-GPU system is likely to have worse scalability, yet it should anyway provide a considerable performance boost.
As we wrote in our earlier reviews, the AFR method has certain peculiarities when it comes to render-to-texture operations (such rendering techniques as environmental mapping, shadow mapping and others belong here). In this case the information about all the changes in the render targets must be sent from one GPU to another. This greatly increases the load on the MIO interface and, accordingly, the GPU synchronization overhead. In order to avoid sending large amounts of data through the MIO interface, Nvidia recommends the developer to perform a Clear() command to clear the color values in the render targets for each frame. But sometimes this is not possible, particularly when the results of the rendering of the previous frame are necessary to render the current frame. So, Nvidia recommends to create two render targets, one target for render-to-texture operations in even-numbered frames and the other in odd-numbered frames. Well, we don’t know how many programmers use this technique to optimize their code for dual-processor graphics subsystems, not to mention quad-processor configurations. Moreover, it is reported that quad-GPU solutions cannot yet use this rendering mode for Direct3D applications.
The Split Frame Rendering method splits one frame into 2 or 4 parts depending on the number of GPUs in the system. The total load is shared dynamically among the GPUs. If the driver notices that one GPU is loaded more than another, it can change the size of the frame parts to restore the balance.
This method is less efficient than AFR due to a bigger synchronization overhead and doubling of certain rendering operations.
The AFR on SFR method is a combination of the described modes. It works like this: the first frame is rendered by the first and second GPUs in SFR mode while the second frame is rendered by the third and fourth GPUs. The results of the rendering are output on the screen one by one, as in AFR mode:
This method is compatible with all applications that correctly support Alternate Frame Rendering and seems to be the optimal mode for a quad-SLI configuration.
SLI Antialiasing (SLI AA) mode is meant to improve the antialiasing quality. It combines the antialiasing performed on the separate GPUs into one final frame.
A quad-SLI system allows to use a unique 32xs SLI AA mode when each GPU performs 8xs antialiasing with a shift relative to the results of the other GPUs. After that, the results are combined into the final frame.
This provides the best antialiasing quality available in the 3D industry, but at the expense of a huge performance hit even the four GPUs sometimes cannot make up for. A quad-SLI system uses SLI AA patterns different from what are used on an ordinary dual-GPU SLI complex.
In the compatibility mode only one GPU out of the quad-GPU configuration is active. This mode doesn’t give you any performance gains.