Information

X-bit Labs for mobile users! Do not forget that we are running a special version of X-bit Labs web-site for users of mobile and handheld devices: http://pda.xbitlabs.com. Check out our news and articles from smartphones and PDAs to be always updated on the latest computer and technology news.

 

Articles: Video

On the Way to Ideal Picture: Anti-Aliasing by Contemporary Graphics Cards


Category: Video

by FastSite

[ 07/22/2002 | 12:00 AM ]

This article is devoted to the matters of picture quality provided by the contemporary gaming graphics cards.Namely, we will discuss in great detail a method of improving quality known as Anti-Aliasing. Theimplementation, the efficiency and bottlenecks - any question you might have on anti-aliasing willbe answered in our article!


Table of contents:


What We Want

With the launch of every new generation of graphics chips, video cards performance steps onto a new level and the quality and quantity of various special effects grow in an explosion-like way. But however perfect present-day game graphics may be, however realistic the characters and the environment, the main feature of the display picture remains the same: the picture consists of pixels - Picture Elements. And it means that polygon edges are displayed as "jaggies" (stairstep-like lines) made of these pixels and it's not possible to reach an ideal picture quality until the "jaggies" are done away with.

<%BANNER[article]%>

So the challenge is issued: Ideal Picture must have no "jaggies". You think it's a dream? None of that. For example, in today's cinematography they use computer rendering systems to create special effects or scenes, which are hard or costly or just impossible to shoot "live". The result of program computation looks so true-to-life that we often don't see through the "trick" and perceive the outcome of programmers and designers' work as ordinary video shooting. Of course, there's no track of "jaggies" in pictures like that.

But those are movies and for them even powerful multiprocessor systems may process shots for a minute, or an hour, or a whole day…But we want the shots and we want 'em to be done in real time! It means that highest-quality anti-aliasing methods (anti-aliasing - removing aliasing effects, i.e. "jaggies" and the like), which are used in rendering software, don't suit us. Not the speed we need, unfortunately.

But don't sink into despair: nothing is lost yet. Firstly, the quality can be sacrificed to speed and, secondly, modern gaming graphics chips, besides all their features, have also full-scene anti-aliasing support and it means the Ideal Picture dream may come true.

What We Can

All anti-aliasing methods share the same concept that in order to remove "jaggies" we need to somehow get more information about every pixel in the picture.

E.g. in voxel algorithms of landscape modeling the description of the scene by voxels (= volume pixels) contains in itself enough information for high-quality anti-aliasing. More to that, the nature of the algorithms used to visualize voxel scenes like that permits "jaggies removal" without practically any additional computational resources. I won't delve into the details as the subject of voxel algorithms is so wide and deep that it's easy to get lost: my experience as well as your patience wouldn't match it. But we can give an excellent example of the implementation of anti-aliasing with voxel scene-description: it's the game "Outcast" - 3D-chooter, adventure and quest, all under the same cover:

At the moment it came out, "Outcast" was a real revolution in gaming: high-quality picture, naturalism and the somewhat peculiar beauty of voxel worlds made it a game absolutely unlike others. Ideal Picture of that time was at your hand's reach - just touch the screen :).

But you had to pay for the beauty: the picture was constructed by the program and was slow even running on the then powerful Pentium II processors with 400x300 screen resolution.

The complexity of quality visualization algorithms for voxel scenes along with rapid development of 3D accelerators pushed game developers to turn their backs to voxels. So there have been no similar projects anymore. 3-dimensional voxel games are still considered a far-away vague prospect - some day processor capacity may become sufficient to create realistic voxel scenes in real time.

Well, polygon scene description plays the first fiddle nowadays, so if we want to have a quality picture in games, we have no other choice but to refer to 3D-accelerators :).

Supersampling

To remove "jaggies", ATI RADEON7000/7200/7500, NVIDIA GeForce 256, GeForce2GTS/Pro/Ultra/Ti, GeForce2 MX and others use "supersampling".

With supersampling, every pixel of the picture is "divided" into several subpixels, which are processed independently and written into separate buffers. After the scene (in Kyro/Kyro II - the tile) is thus constructed, the reverse process is performed - filtering or "assembling" pixels out of subpixels according to the pattern (Filter Kernel), which is none other but the color average of corresponding subpixels:

At physical level, during supersampling, the picture is constructed by the chip in larger resolution and then is filtered according to the appropriate pattern (VSA100 and Voodoo4/5 chips work a little differently, but we won't consider them as they are now obsolete and have the status of "rarities").

E.g. when turning 2x2 supersampling on in 800x600 mode, the dimensions of the image constructed in a separate buffer are 1600x1200, the filter kernel is 2x2 and the weighting coefficients in the kernel (which characterize each subpixel's color contribution to the color of the resulting pixel) are 1/4.

Another example: in 640x480 resolution with full-scene 2x1 anti-aliasing on, the dimensions of the image built in a separate buffer would be 1280x460, the filter kernel - 2x1 and weighting coefficients of subpixels - 0.5 and 0.5 respectively.

The working scheme of this method gives us the full view of the performance loss we get when turning anti-aliasing on: for example, in 800x600 mode with 4x anti-aliasing, the performance of the video card would equal its performance in 1600x1200 mode.

It's evident that the performance loss because of supersampling is too big and we have to look for a more efficient way of removing "jaggies".

A way like that was suggested by NVIDIA and with the launch of the GeForce3 chip we had to learn new words: "multisampling", "HRAA", "Quincunx".

Multisampling

NVIDIA's multisampling in GeForce3 is often thought to be opposite to supersampling. That's not right as multisampling by NVIDIA is a logical continuation of supersampling.

The main difference between multisampling in NVIDIA GeForce3/GeForce4/GeForce4 MX and supersampling in NVIDIA GeForce2 chips is that now the chip does not process the same number of subpixels for all pixels in the image. Well, if we are to smooth "jaggies" on the polygon edges only, why do we need to perform useless calculations where it's not necessary, that is, inside the polygon?

Physically, with multisampling turned on, the chip does exactly the same thing as with supersampling: first - building the enlarged image, then - filtering according to a pattern.

But the way of image construction has changed a little, though: now a simple check of the subpixels location is done every time the pixel is processed:

  • If every subpixel of the pixel processed lies within the triangle, which is under construction, then it's obvious that the whole pixel is within the triangle and doesn't need to be smoothed. In this case, a single color value is calculated and assigned to all subpixels of that pixel.
  • If it happens that one or several subpixels of the pixel checked do not lie within the triangle, then it's obvious that this pixel comes beyond the triangle boundaries in part and needs "smoothing". In this case the subpixels of the checked pixel are calculated independently, but only those of them that lie within the triangle are calculated. The subpixels located outside the current triangle will get their colors later, when we have to return to that pixel to built the adjacent triangles. Then they'll become "belonging" to some adjacent triangle and will be calculated according to all the rules.

As a result, the additional calculations are performed on the polygons edges only and "inside" them the colors of subpixels belonging to the same pixel are equal and don't provide any additional information about the pixel - it's just not necessary. This method of full-scene anti-aliasing evidently allows to reach the same quality of smoothing "jaggies" on the polygon edges as with supersampling, but with lower performance losses. Small performance loss procured by this method allows to turn full-scene anti-aliasing on even in high resolutions and that's where the common name for full-scene anti-aliasing methods in NVIDIA GeForce3 - High Resolution Anti Aliasing (HRAA) - takes its origin.

The implementation of multisampling in NVIDIA chips has one more peculiar feature: when calculating a pixel color, filter kernels allow using not only its subpixel colors, but also the colors of adjacent pixels' subpixels (Damned, what a phrase! :)).

In this case, filter kernels are of larger size and include a greater number of weighting coefficients. E.g. the filter kernel of the HRAA Quincunx method, which is a modification of HRAA 2x, has 3x3 dimensions and by means of processing subpixels of adjacent pixels allows getting the resulting color as a combination of 5, not 2, samples, each one - with its own weighting coefficient.

      

With that, the quality of edges smoothing improves without any additional calculation losses. When the image is built in the buffer, pixels are divided into 2 subpixels, the same as with HRAA 2x.

The HRAA 4x 9-tap method, which is a modification of HRAA 4x, has a 3x3-dimensional filter kernel and the colors of nine samples are combined to get the final color. It's natural that with 4x 9-tap the quality of "jaggies" anti-aliasing is the closest to the ideal among all the HRAA methods.

For a detailed review of filter kernels by FSAA methods in NVIDIA GeForce3 refer to Appendix 1 later in this article. Now I have only one thing left to remind you: NVIDIA GeForce4 Ti and GeForce4 MX have inherited their anti-aliasing functions from NVIDIA GeForce3. The only change has happened to their new common name - "Accuview". So these chips perform anti-aliasing with exactly the same quality and efficiency. The only innovation in NVIDIA GeForce4 Ti/MX is the appearance of the 4xS method, which I'll consider a little later - the necessity of this is sure to rise up.

What Is SMOOTHVISION?

While NVIDIA Company doesn't conceal the details of full-scene anti-aliasing implementation in its chips (e.g. you can read about it here), ATI, on launching RADEON 8500, obscured the issue in a way and we're left to deduce the principles of RADEON 8500 functioning for ourselves. But there's an official document, which explains how SMOOTHVISION works.

  • SMOOTHVISION™ uses a large group of 16-sample blocks that cover a variable number of pixels, which is determined by the level of anti-aliasing being implemented. Each pixel within every group of 16 samples has their actual sample positions selected from a pre-programmed 8-sample jitter table.
  • As the level of anti-aliasing is increased, each 16-sample block will cover a smaller number of pixels. For example in the 2x anti-aliasing case, a total of 8 pixels are covered by the 16 sample group, and in the 4x case, a total of 4 pixels are sampled 4 times each.

That is, when anti-aliasing is on, a set of 16 pre-defined sample positions is used. The set determines the quantity and locations of subpixels for each pixel. E.g. with SMOOTHVISION 4x Quality anti-aliasing this set "covers" 4 adjacent pixels and in the end each of them is calculated by means of 4 subpixels, the colors of which are eventually mixed together. With SMOOTHVISION 2x Quality anti-aliasing this set "covers" 8 pixels: 2 subpixels for each pixel. The maximum number of subpixels for each pixel is 8. Here's an example of SMOOTHVISION 4x Quality:

ATI claims that thanks to subpixels situated out of order, the quality of "jaggies" smoothing proves to be higher than with ordinary supersampling. Performance is high, quality - unbelievable and so on and so forth…

What if we consider this explanation from the point of view of common sense? The positions for subpixels are chosen not at random, but out of 16 fixed possible ones, which are really determined at random. In this case, there won't be any advantage over supersampling, but additional problems may arise: cyclic repetition of the positions set (in every 4 pixels - with 2x anti-aliasing, in every 2 pixels - with 4x, and so on) may lead to extra distortion, provoked by the regularity and big period of sampling repetition. Not the best way to do away with "jaggies", is it?

Fortunately, or not, but the realization of SMOOTHVISION in ATI RADEON 8500 has little to do with all the "obscurity". On close watching the work of SMOOTHVISION at all possible angles of inclination of the polygon edges, the texture processing, the performance loss values, we can come to the only conclusion: here we see nothing but ordinary supersampling.

To prove the supposition I even had to write a small program, which models the effects of different supersampling variations (see Appendix 2). By getting 100% coincidence of anti-aliased polygon edges in games and in the image, created by the utility, I quite quickly determined filter kernels for every SMOOTHVISION mode. For details not to obscure the point, I listed filter kernels of all ten full-scene anti-aliasing variations by ATI RADEON 8500 in Appendix 1.

So the verdict sounds as follows: SMOOTHVISION is a slightly modified version of supersampling. Yes, it smoothes "jaggies" all right, but it is supersampling. With all its advantages and shortcomings.

Weak Points and Bottlenecks

In this section we will talk about the advantages and shortcomings of supersampling and multisampling in present-day graphics cards.

"Inconvenient Angles"

When smoothing "jaggies" on the polygon edges, supersampling and multisampling color the pixel with a combination of the colors of subpixels inside and outside the polygon. E.g., with 4x supersampling there may appear all four, only 3, or 2, or 1 subpixel inside the polygon, and the last variant - all the subpixels are outside the polygon. For a white polygon on the blue background it gives 5 color variations:

The anti-aliased border will look about this:

All right then, the picture is close to the ideal! But it's too early to rejoice - the worse things are to come yet.

If the angle of slope of the triangle boundary is such that the possibility of getting some subpixel location variants gets smaller, then the number of halftone in the built image is smaller too. E.g. with nearly horizontally located polygon edge, the image will be constructed as follows:

As a result, the polygon edge will look like this:

It's far from what we'd like to see in an Ideal Picture:

This picture was created in a graphics editor. Such a high quality of "jaggies" smoothing cannot be reached by any supersampling or multisampling algorithms, as the number of filter kernel samples cannot be too high, as the graphics core performance is not infinite.

There're ways of combating "inconvenient" angles like those: increasing the number of samples or positioning subpixels not uniformly. E.g., if we could position subpixels in the most advantageous way (on the line perpendicular to the polygon edge), then even at this angle of slope we'd get anti-aliasing of acceptable quality:

VSA-100 chips from the now-defunct 3dfx company provided anti-aliasing of excellent quality thanks to placing subpixels on a rotated grid (RGSS, Rotated Grid Super Sampling), but 3dfx is dead now and its ideas concerning anti-aliasing aren't used today.

So, there's only one way of getting closer to Ideal Picture - by using "hardest" anti-aliasing methods, including four, five or six samples. But even in this case the edges located at "inconvenient" angles, that is, close to the horizontal (0 deg.), vertical (90 deg., 270 deg.) and diagonals (45 deg., 135 deg.) will be smoothed worse than others.

"This Is Not Our Method"

The existence of "inconvenient" angles for each anti-aliasing variant is the reason why image quality is often far from the ideal. But there're anti-aliasing methods variations, with which image quality gets only slightly higher or even worse.

For instance, 2x method implemented in NVIDIA GeForce2, GeForce3, GeForce4Ti/MX smoothes tolerably well at angles close to the horizontal and vertical, but has the "inconvenient" angle of 135 degrees. The edges of polygons, which are close to this "inconvenient" angle, never get smoothed at all. Anti-aliasing at angles close to 45 deg. doesn't look natural, either.

SMOOTHVISION 2x Quality and 2x Performance methods feature the same poor smoothing of the polygon edges at some angles of slope. 2x Quality works quite well with edges, which are close to the horizontal and vertical, but is bad at the angles of 45 deg. and 135 deg.

The 2x Performance method is just poor at the angles of 45 deg. and 135 deg., transforming meant-to-be-removed "jaggies" into real "notches", two pixels each, thus completely killing any desire to turn it on once again:

The conclusion is: don't torture your eyes and graphics card, if the "jaggies" are to be smoothed then it should be done properly, by means of "heavy" methods using more samples/subpixels. But if the graphics card performance doesn't allow using "heavy" anti-aliasing methods, it's better not to turn anti-aliasing on at all. Turning "light" methods on may be disappointing: "speed is lower, quality is the same". On the whole, various 2õ, 2õ1 and 1õ2 "are not our methods".

Quincunx, 4x 9-tap and SMOOTHVISION 4x Performance Methods

In order to raise the quality of "jaggies"-smoothing, without performance losses, that is, without increasing the amount of the processed subpixels, NVIDIA and ATI went the same way. Filter kernels in "Quincunx", "4x 9-tap" and SMOOTHVISION 4x Performance methods include not only the subpixels of the "parent" pixel, but also the subpixels of the adjacent pixels. For instance, in case of the 4x 9-tap method, four subpixels are calculated for each pixel, but the resulting color of the pixel is a combination of colors of nine samples:

      

With these methods, involving the adjacent subpixels improves the quality of "jaggies"-smoothing without significant performance loss. All would be well if it were not for an unpleasant effect: the image gets "blurred". We can illustrate it with the example of HRAA 2x and Quincunx methods. The difference between them lies exactly with "Quincunx" filter kernels, which involve adjacent pixel subpixels as well. On the left you can see a fragment of HRAA 2x screenshot, on the right - Quincunx:

   

About the same effect you can get by applying the "Blur" filter to the image in a graphics editor. Obviously, it's not the best way of removing "jaggies", but if we need high speed and "blurring" is not a problem (for example, in car- or flight-simulators this "blurring" even adds to realism - the flashing-by landscape should be "blurred" :)), then the use of these methods is an excellent choice.

Textures Quality

The supersampling principles, namely the idea of splitting the pixel into subpixels, can show itself quite unexpectedly. For example, enabling supersampling increases the texture clarity and quality of texture filtering :).

The explanation of this "side effect" is simple. The projection of a pixel onto a polygon (it's an elongated ellipse) is better described by the projections of several subpixels than by single point, especially at small angles between the line of sight and the polygon:


As a result, with supersampling the quality of texture filtering improves as if anisotropic filtering were switched on. By the way, supersampling itself is a variant of anisotropic filtering implementation.

Multisampling in NVIDIA GeForce3/GeForce4Ti/GeForce4 MX has no remarkable feature like that because inside the polygon, unlike on its boundaries, only one color value is calculated for each pixel, which value is then assigned to all its subpixels.

To demonstrate the work of anti-aliasing with textures, I used a scene from "Serious Sam: The Second Encounter" and tested in this scene the work of NVIDIA GeForce3, GeForce2Ti and ATI RADEON 8500:

NVIDIA GeForce3 - multisampling:

No full-scene anti-aliasing
HRAA 4x

The quality of textures didn't change at all. Well, this shortcoming (if we may call it like that :)) is compensated by anisotropic texture filtering support in NVIDIA GeForce3/GeForce4Ti/GeForce4 MX chips.

NVIDIA GeForce4Ti/GeForce4 MX chips support, in addition to all the anti-aliasing variations "inherited" from GeForce3, a new full-scene anti-aliasing method, "4xS", which is a combination of 2x multisampling and 1x2 supersampling. It provides a slightly improved texture filtering quality as 2 subpixels are calculated for each pixel inside polygons, but it also leads to higher performance loss than 4x multisampling.

NVIDIA GeForce2 - supersampling:

No full-scene anti-aliasing
FSAA 4x

The textures quality improved: supersampling does work! :).

ATI RADEON 8500:

No full-scene anti-aliasing
SMOOTHVISION 6x Quality

Unexpectedly, the textures quality became worse!

It appeared that ATI RADEON 8500 with enabled anti-aliasing purposely lowers the textures LOD - Level Of Detail, thus lowering the requirements to the graphics memory bandwidth, and expects that the situation will be improved by supersampling. But the textures quality is nevertheless worse than before we enabled anti-aliasing.

Fortunately, this can be "cured": just turn on anisotropic filtering and the texture filtering quality increases. As performance loss with anisotropic filtering in ATI RADEON 8500 is low, this "treatment" can be taken constantly :).

Working with Transparent Textures

Multisampling from NVIDIA has one more secret shortcoming: as smoothing is not performed inside polygons, the clarity and sharpness of transparent textures against the background of smoothed polygon edges and absence of "jaggies" might be annoying.

With the use of supersampling the selction and filtering of texture samples is done for each subpixel in the entire image area, so that even transparent textures will be smoothed.

An example: tree leaves in "Serious Sam: The Second Encounter". I used this scene to test the work of NVIDIA GeForce3, GeForce2Ti and ATI RADEON 8500:

NVIDIA GeForce3 - multisampling:

No full-scene anti-aliasing
FSAA 4x

The "jaggies" on the branch of the tree were smoothed, while the leaves were not. Unfortunately, with multisampling it's impossible to have smoothing work inside the polygons, so the same effect of transparent textures processing will be seen everywhere.

Quincunx and 4x 9-tap methods can do a little to improve the situation by making the whole scene look "blurred":

HRAA Quincunx

NVIDIA GeForce2:

No full-scene anti-aliasing
FSAA 4x

The leaves are drawn excellently: the level of detail is higher and "jaggies" are completely eliminated.

ATI RADEON 8500:

No full-scene anti-aliasing
SMOOTHVISION 6x Quality

"Jaggies" disappeared on leaves as well as on branches, but the quality of textures, unfortunately, didn't improve.

So, multisampling from NVIDIA may disappoint when working with transparent textures. Luckily, these situations arise rather seldom; developers usually employ other methods of working with transparent textures, in which the transparency changes fluently. For example, the grass in the same "Serious Sam: The Second Encounter":

Well, to Enable or Not?

We've discussed all the advantages and shortcomings of anti-aliasing. Now there's only one question left: is it necessary to enable this function? Because here's another excellent way of reducing the annoying "jaggies" effect and improving the image quality: increasing the screen resolution.

Increasing Resolution Instead of Enabling Anti-Aliasing

When the resolution is higher, "jaggies" don't disappear of course, but they just become less prominent. For example, with the resolution increased by A times along the horizontal and B times along the vertical, the physical pixel size on the display would be diminished accordingly: by A times along the horizontal and B times along the vertical, and the pixel area would be reduced by A*B times. The annoying "jaggies" effect would be reduced by the same number :).

It's all very well, but the increase in resolution has its own shortcomings and limits:

  • Firstly, it's just impossible to change the screen resolution for those who have LCD-displays.
  • Secondly, to get an image with the picture quality close to the one with supersampling or 4x multisampling, you'd have to double the resolution along the horizontal and along the vertical. The maximum display frame rate in high resolutions like that (e.g., 800x600 mode becomes 1600x1200, 1024x768 becomes 2048x1536) may be limited by the uncomfortable 60Hz refresh rate or even less. And that's only if the display "agrees" to work in these modes.
  • Thirdly, performance loss with anti-aliasing turned on is smaller, than with the equivalent resolution growth (it only concerns multisampling, I guess the reasons are clear).

All in all, there's a choice: you can turn full-scene anti-aliasing on or increase the resolution. As an example of this choice let's consider the images of the scene in "Homeworld: Cataclysm". The first is with full-scene anti-aliasing and the second is with 2-times higher horizontal and vertical resolution. The picture depicts a Hive Frigate surrounded by twelve Sentinels:

No full-scene anti-aliasing
Full-scene anti-aliasing
Higher resolution

Both anti-aliasing and resolution increase considerably improve the quality of the picture. What to choose is a matter of taste only.

Subjective Observations

Setting too high resolutions in games, I think, leads to even over-clarity of lines. The objects are "in focus" and remain clear-cut at any distance from the viewer, while the human eye has no such feature. Turning anti-aliasing on instead of increasing the resolution makes the boundaries less sharp and far-away objects, which take up just a few pixels on the screen turn from "a bunch of odd pixels" into a "blurred spot". I guess, this "blurring" of far-away objects is a great advantage of supersampling and multisampling. With them pictures become much more natural: close and big objects do not lose their sharpness, just acquire smoothed boundaries, and far-away and small ones get "blurred".

I'll try to illustrate it with the example of "Homeworld: Cataclysm". In this scene a large unit, Hive Frigate, is escorting a flight of small Recons:

No full-scene anti-aliasing
Higher resolution
Full-scene anti-aliasing

Originally, the small Recons look like pitiful bunches of pixels, provoking no thought. It's impossible to distinguish the units type. The silhouette of the Hive Frigate is barely recognizable and has the same terrible look.

On increasing the resolution, the Hive Frigate came to look much better, but its escort remained the bunch of pixels.

The best result was with anti-aliasing turned on: the Hive Frigate didn't lose its contours and remained recognizable while the "small fry" turned to blurred spots. The antialiased picture looks much more natural than the previous two.

Speed Factor

The main factor, which limits the use of full-scene anti-aliasing, is significant performance loss. The "heavier" is the anti-aliasing method used, the more of the performance we lose. For example, with 2x supersampling the graphics card performance is reduced by nearly two times, with 4x - by four times, with 6x - by about six (!) times.

Fortunately, the real FPS rate will not be reduced so drastically in games. Present-day graphics cards are developing faster than processors (that is, they do not work to the top of their powers in most modern games, unlike the processors) and in most cases they work at half of their capacity, being limited by the CPU, namely by its processing speed of gaming action, logics and scene creation. In these cases, enabling functions, which load graphics card only with extra work, such as full-scene anti-aliasing, anisotropic filtering or TRUFORM, will result in a slightly lower FPS rate and sometimes may even not affect the speed at all: the speed will again be limited by CPU and memory subsystem performance and so on. It has to do, for example, with ATI RADEON 8500: it has such a performance that even in "heavy" SMOOTHVISION modes the speed in most games remains at an acceptable level.

All the above said also refers to the newest graphics cards from NVIDIA supporting multisampling. With multisampling, performance loss is not so big as with supersampling, so there'll be fewer disappointments waiting for you.

The worst full-scene anti-aliasing of all is implemented in value cards supporting supersampling, such as NVIDIA GeForce2 MX, PowerVR/STM Kyro/Kyro II, SiS 315 and others. Their performance is not very high, so that in modern games they usually work at their full capacity so an additional workload imposed by supersampling may just "kill" the acceptable gaming performance. In this case one has to abandon anti-aliasing altogether, or turn it on at low resolutions only: 512x384, 640x480, sometimes maybe 800x600. Evidently, not everyone is going to like it.

The exact performance loss rates caused by enabled anti-aliasing can be looked up in the reviews of particular graphics cards in our Video section.

Conclusion, or "What to expect in the Future?"

First of all, we would definitely like to see high-quality fast anti-aliasing methods implemented in value graphics cards. Well, it's needless to say that for now quality anti-aliasing in high resolutions is only available for those who have rather expensive graphics cards, such as NVIDIA GeForce3Ti/GeForce4Ti or ATI Radeon 8500.

The launch of graphics cards based on NVIDIA GeForce4 MX chips is supposed to improve the situation. SiS Xabre chips are "dark horses" yet, but we have all reasons to believe that they'll prove to be fast enough, graphics cards based on them will be not very expensive and among the supported anti-aliasing methods there'll at least be supersampling.

Secondly, although supersampling and multisampling provide a good quality of smoothing the "jaggies", we, as always, want "more" :). Increasing the amount of subpixels, flexible control over their number and positions "inside" the pixel are possible ways full-scene anti-aliasing may be improved. Maybe, we'll see in reality, not on paper, the functions, which would allow software developers to decide for themselves in what picture areas or polygons anti-aliasing could be enabled and disabled.

Well, the developers' imagination and ingenuity know no limits, and I'm sure, we'll be more than once surprised at the changes in image quality, future innovations are going to bring. We will see Ideal Picture, that's certain. Not tomorrow, but very soon :).

Appendix 1: FSAA in RADEON 8500 and GeForce3/GeForce4/GeForce4 MX

HRAA - NVIDIA GeForce3/GeForce4Ti/GeForce4MX

  • 2x

       

    The highest-performing and worst-quality anti-aliasing method available in NVIDIA GeForce3/GeForce4Ti/GeForce4MX. The quality of smoothing polygon edges, which are close to the horizontal and vertical lines, is good. The quality of smoothing at the angles of 45 deg. and 135 deg. is not very good, to put it mildly.

  • Quincunx:

       

    A modification of the previous 2x method. The Quincunx filter kernel includes additional samples - subpixels of adjacent pixels, so the additional "blurring" of the picture makes "jaggies" look smoother. "Inconvenient" angles are the same: 45 deg. and 135 deg.

  • 4x:

       

    4x method is good at smoothing "jaggies" nearly at every angles of slope. It's slightly worse at angles close to the horizontal, vertical or diagonal lines.

  • 4x 9-tap:

       

    4x 9-tap is the highest-quality anti-aliasing method of all used in NVIDIA's chips. Due to a larger size of the filter kernel the picture is a little "blurred", but the quality of "jaggies" smoothing is ideal.

SMOOTHVISION - ATI RADEON 8500

  • 2x Quality:

       

    This method is identical to HRAA 2x or Accuview 2x in NVIDIA's chips as concerns the quality of smoothing polygon edges. Accordingly, the "inconvenient" angles are 45 deg. and 135 deg.

  • 3x Quality:

       

    This supersampling variation excellently smoothes polygon edges at angles close to the horizontal. But at the angles close to the vertical line, the edges remain unsmoothed at all.

  • 4x Quality:

       

    SMOOTHVISION 4x Quality smoothes polygon edges in the same way as 4x method in NVIDIA chips does. "Inconvenient" angles are those close to the horizontal, vertical and diagonal lines.

  • 5x Quality:

       

    This method smoothes edges at the angles close to the horizontal better than 4x Quality. "Inconvenient" angles of inclination are those close to the vertical.

  • 6x Quality:

       

    6x Quality is the best-quality and "heaviest supersampling variation from the performance point of view of all available in ATI RADEON 8500. The quality of smoothing the polygon edges at the angles close to horizontal is excellent, at other angles - good. There are no strikingly "inconvenient" angles, but the method processes a little worse the edges that are situated almost vertically.

  • 2x Performance:

       

    With 2x Performance enabled, two subpixels are processed for each pixel in every second line of the image while in the rest of the lines one subpixel is processed. So, the method may be called "1x1.5". The quality of smoothing "jaggies" on the polygon edges is too bad, all the angles are "inconvenient". Not an anti-aliasing, but a scoff at the common sense, really.

  • 3x Performance:

       

    This variation is based upon the same principle as the previous one, but the alteration of the number of subpixels occurs with both horizontal and vertical lines. Analogous to the previous method, this one may be called "1.5x1.5". The quality of smoothing is better than in the previous case, the "inconvenient' angles are those close to the horizontal, vertical and diagonals.

  • 4x Performance:

       

    One more variation of the alteration of the subpixels quantity: "1.5x2". But here the filter kernel on the odd columns includes adjacent pixel subpixels, so the quality of smoothing polygon edges, which are close to the vertical, improves nearly to the level of "true" 4x Quality, though the image gets a little "blurred". The quality of smoothing the edges, that are close to the horizontal, and "inconvenient" angles are the same as with 4x Quality.

  • 5x Performance:

       

    This SMOOTHVISION variation splits the pixel into 4 subpixels as with 4x Quality, but the filter kernel has the dimensions of 2x3, not 2x2. The quality of "jaggies" smoothing is better than by 4x Quality due to inclusion of the adjacent pixel subpixels, but the image gets a little "blurred".

  • 6x Performance:

       

    Here again the alteration of the subpixels quantity is used: the even-number lines of pixels have 6 subpixels each, the odd ones - 4. We could call the method "2x2.5". The speed of this SMOOTHVISION variation is a little higher than "true" 6x Quality, but the quality of smoothing polygon edges is a little worse. It's hard to point out the "inconvenient" angles for this method - visually at any angle of slope it works excellently, just like 6x Quality. The only thing is that this variation, as well as 6x Quality, performs a little less efficiently on edges, which are almost vertically lined.

Appendix 2: Modeling of FSAA chips by ATI and NVIDIA

To model and demonstrate the work of different multisampling and supersampling variations we wrote a small program:

The program is a convenient tool for comparing anti-aliasing quality as provided by NVIDIA and ATI chips, bringing out "inconvenient" angles and so on. On turning on anti-aliasing, the picture on the demonstration panels changes and the subsidiary panel shows information about the filter kernel used, illustrating it with the example of four adjacent pixels.

The program doesn't use hardware 3D-functions of the graphics cards, so it can be run on any Windows 9x/ME/NT/XP/2000 system. You can download it here.


Article Rating

Article Rating: 10.00 out of 10
 
Rate this article:
Excellent
Average
Poor
 

Discussion

Comments currently: 1
Discussion started: 04/24/04
View comments

Add your Comment

Name/Nickname
Your Comments
 

Category News

Category: Video

Thursday, July 17, 2008

5:48 am Microsoft Preps to Unveil DirectX 11 Features in Several Days. ATI, Nvidia, Microsoft to Discuss DirectX 11 Techniques at XNA, Siggraph

Wednesday, July 16, 2008

12:30 pm New Generation ATI Radeon for Mainstream, Mobile Markets are Ready. PCI-SIG Approves ATI RV730, M98-L, M96 Graphics Chips

7:22 am EVGA and XFX Reimburse Price Difference on GeForce GTX 200 after Price Collapse. EVGA and XFX to Return Money to GeForce GTX 200 Purchasers

Tuesday, July 15, 2008

4:23 pm Startup Promises to Revolutionize Multi-GPU Technology Early Next Year. LucidLogix Unveils Hydra Distributed Processing Engine

Friday, July 11, 2008

10:26 pm AMD Plans to Launch Two Dual-Chip ATI Radeon HD 4800 Graphics Cards. ATI Touts 8-Way ATI CrossFireX Multi-GPU Technology

 
News Archive
All Latest News