Matrox's Comeback Kid - The Parhelia-512by Anand Lal Shimpi on May 14, 2002 9:00 AM EST
- Posted in
To put it plain and simple, anti-aliasing (AA) as it is done today is not very elegant at all. The vast majority of pixels that are fed through the anti-aliasing engines in GPUs don't even fall along the edge of a polygon and thus they aren't creating any visible jagged lines. Unfortunately, detecting the edges of polygons and only anti-aliasing those pixels is a very complex thing to do and requires a significant transistor and die space investment. Matrox felt that anti-aliasing was important enough to spend the die space and transistor count on it and thus they came up with an intelligent edge-AA scheme they call Fragment Antialiasing (FAA).
The Parhelia's FAA engine determines an edge pixel by looking at the pixel and dividing it up with 16x sub-pixel accuracy. Each pixel is divided into 16 parts and the colors of each of the parts is compared to determine whether the pixel is not covered, fully covered or partially covered. All pixels determined to be partially covered (and thus on the edge of a triangle) are sent to the FAA unit and are then anti-aliased. The 16x sub-pixel accuracy is where Matrox comes up with the 16x FAA name for the technology.
The beauty of this method is that the pixels that aren't on the edge of a polygon are written to the frame buffer without being sent through the FAA engine thus saving precious bandwidth. According to Matrox, what they call "fragment pixels" account for less than 5 to 10% of the pixels in a scene; you can imagine the type of performance savings you get by employing this fragment AA scheme.
Because of the way FAA works, the higher you crank up the resolution the fewer fragments pass through the FAA engine resulting in a lower performance hit at higher resolutions. This is clearly the way AA should be done from a pure performance and efficiency standpoint; we'll reserve judgment on the quality until we spend more time with a card but from what we saw during our briefing with Matrox, it is definitely comparable to offerings from ATI and NVIDIA.
Unfortunately all isn't perfect with the Parhelia's FAA engine; there are situations where the fragment detection doesn't work perfectly and the result are annoying artifacts in the game. For those situations your only option is to either turn off FAA or resort to Matrox's supersampling AA algorithm which will take a performance hit similar to that of the Radeon 8500. There is no way to predict under what games FAA will result in artifacts but it does happen. Matrox mentioned to us that out of approximately 40 games they tested, around 5 - 7 exhibited artifacts with FAA enabled. As you can expect, we'll attempt to compile a list as soon as possible to help point out what games do and don't work properly with FAA enabled.