Computer screens display shapes by lighting up individual pixels. For vertical and horizontal edges this works fine, but diagonals and curves tend to show jagged, stairstepped edges, known as aliasing. These edges can be smoothed with a technique known as antialiasing. This process shades edge pixels partially depending on how much of the pixel is covered by the shape. In some cases, the coverage of each edge pixel can be directly calculated using geometric formulas. An easier but slower method is to render the image off-screen at a higher resolution, then down-sample it before displaying on screen. Each pixel on screen is the result of averaging several pixels from the larger, off-screen image (called an image buffer). The larger the image buffer, the more accurate the antialiasing will be on screen, however large image buffers require a lot of processing and memory and can degrade graphics performance. This slower processing can be especially noticable in 3D games, which continually redraw the scene. Subpixel antialiasing is a method of edge smoothing that takes advantage of the special properties of LCD screens, such as those in flat panel or laptop displays. On a CRT or Trinitron monitor, one pixel in the computer may overlap several phosphors on the screen, but on an LCD screen there is usually a 1:1 correspondence. Since each pixel on the screen is composed of 3 phosphors side by side, each one of these can be used as a pixel all by itself, thus tripling the horizontal resolution available for edge rendering. This method is used mostly for font rendering. Phosphors are usually arranged so that red is on the left, green is in the middle, and blue is on the right within each pixel. If a dark shape has an edge that overlaps a white pixel just slightly from the right side, the blue phosphor can be darkened. The right two-thirds of the pixel will remain lit. There are some downsides to subpixel antialiasing. The most obvious drawback in the example below is color distortion at the edges. It also cannot be used unless the programmer is sure that the user is using an LCD, or that there is a 1:1 computer pixel-to-screen phosphor ratio. If not, the color distortion will be very noticable, and antialiasing will not look very good. In addition, the spatial ordering of phosphor colors cannot always be assured. They might be in BGR order instead of RGB. This limitation can be overcome by allowing a user to choose from examples of an image antialiased with all 6 combinations of phosphor arrangements, picking the one that looks smoothest on his or her screen. This may add a level of unwanted complexity, however, especially for inexperienced computer users. In general, standard antialiasing is prefered for device-independent rendering.
For more information on subpixel antialiasing, see the Sub-Pixel Font Rendering Technology web site. |