GeForce 8800 versus SLI AA and Super AA: the patterns
Antialiasing can get pretty complicated these days, but we can still sort through what the various GPUs are doing, by and large. The table below shows AA sampling patterns for the various modes used by each GPU or multi-GPU scheme. Samples for antialiasing routines are captured at a sub-pixel level, inside the area covered by a pixel. Basically, these patterns show from where inside of the pixel each of the samples are taken.
The multisampling AA routines in current GPUs rely on several different sample types, as well. The first of those is the sub-pixel color and depth (Z) information conferred by the sample point's location in a polygon. The second is the polygon coverage information itself, and the third is the color information conferred by any textures or shader programs. Multisampling saves on bandwidth and fill rate by grabbing a smaller number of texture/shader samples per pixel than it does color/Z and coverage samples. The GPU then sorts out how to blend the texture and color information for the various sub-pixel fragments using the coverage information. For most of the GPUs involved here, the samples in the table below show only two sample types: texture/shader samples, which are green, and color/Z/coverage samples, which are pink.
The GeForce 8800's coverage sampled AA is a further optimization of multisampling that discards a portion of the color/Z information that the GPU collects but preserves the information about which polygons cover the sample points. For instance, the 8X CSAA mode stores one texture/shader sample, four color/Z samples, and eight coverage samples. Doing so generally allows for a sufficient amount of color information, along with more accurate blending thanks to the additional coverage info. If you're unfamiliar with CSAA, I suggest reading the section on it in my GeForce 8800 review. CSAA generally offers a very nice combination of performance and antialiasing quality for edge pixels.
The trick with the GeForce 8800 is figuring out where the coverage samples are located, since our usual FSAA Viewer tool doesn't show them. Fortunately, we've managed to snag a tool that shows these coverage sample points, and I've overlaid them with our usual FSAA Viewer results in the table below for the GeForce 8800's 8X, 8xQ, 16X, and 16xQ antialiasing modes. The smaller red dots in those patterns are the coverage sample locations.
I've also included results for the various multi-GPU antialiasing modes below. Many of them involve higher numbers of texture/shader samples, because they are the result of blending pixels from two different GPUs produced by their regular AA methods. Since the GeForce 8800 doesn't yet have SLI AA support, it has to rely on its own native single-GPU AA modes.
So we have lots of dots. What do they mean? First and foremost, I'd say we've learned that above 4X, the names given to the various modes8X, 10X, and the likedon't always mean the same things in terms of sample types and sizes. Comparing between them is difficult.
The new information here for us in the CSAA coverage sample patterns from the GeForce 8800, which are rather interesting. We can see immediately that the G80's 8xQ mode is indeed simply a traditional 8X multisampling mode, where coverage information corresponds exactly to the location of color/Z samples.
The sample pattern for the CSAA 8X mode is notable, too. Four of the coverage samples correspond with the four color/Z samples, while the additional coverage samples are all located close to the pixel center, grouped around the texture/shader sample point. Nvidia seems to be betting that additional coverage information from the center of the pixel, near the texture/shader sample point, will produce the best results.
The 16X and 16xQ CSAA modes take a different approach, with no exact correspondence between color/Z sample points and coverage sample points. These two coverage sample patterns are both largely quasi-random, but they're also different from one another. Nvidia claims these patterns were chosen intentionally to get the best results from the number of color/Z samples in each mode. In the 16X CSAA mode, four of the coverage samples come just the outside of the color/Z sample points. In the 16xQ mode, that's not the case, but one of the coverage samples does appear to correspond with the texture/shader sample location.
Obviously, the older GPUs store more texture and color/Z samples than the GeForce 8800, especially in their multi-GPU AA modes. This fact should make them relatively sloweras should the fact that the multi-GPU AA modes aren't particularly efficient methods of load balancing. The question is: how does the GeForce 8800 stack up in terms of image quality?