Quote: ATI supports three different modes for displaying your favorite game across a pair of graphics cards: alternate frame rendering, whereby each GPU handles odd or even frames, supertiling mode, which divides the screen into a 32x32 pixel checkerboard of sections rendered alternately by each GPU, and scissor mode, where the screen is split, with one part rendered by GPU 1 and the other rendered by GPU2. ATI’s own product page admits that scissor mode is not as efficient as the company’s other techniques, but works best in OpenGL-based titles. Of course, the supertiling and scissor modes are largely technical additions to CrossFire, since ATI’s own list of best practices suggests programming with alternate frame rendering in mind. Thus, most of the apps you’d run in CrossFire are optimized for this mode anyway.
Nvidia supports two performance modes: split-frame rendering and alternate frame rendering. Split-frame works like ATI’s scissor mode, dividing the frame up to split its workload up between GPUs. And, as with ATI’s implementation, this isn’t as efficient as AFR. Alternate frame rendering functions similarly as well, assigning one card to even frames and the other to odd.
The problem with split-frame/scissor mode is that, while they help alleviate the pixel processing workload, each GPU still has to store the entire frame in its memory, so geometry and (arguably more important) memory bandwidth aren’t helped at all. Meanwhile, tiling is negatively affected by inter-frame dependencies, such as render targets being used in the following frame.
As a result, AFR is most often used. It makes sense, then, that you’d want GPUs with identical performance working on one frame after another. And even when you have this, one frame might take milliseconds longer to render than the one before, resulting in an artifact of multi-GPU configurations referred to as micro-stuttering. |