This process increases the apparent resolution of an LCD display by rendering image pixels in a way that takes advantage of the fact that each pixel on the display is actually composed of individual red, green, and blue subpixels (see image below). It is somewhat related to the techniques employed in text rendering technologies such as Microsoft’s ClearType and the open-source FreeType.
The images below are close-up photos of an LCD screen while displaying an image that has been scaled using sub-pixel rendering and normally scaling; side by side. As you can see in the first photo, the subpixel rendering engine is using each subpixel as a separate sampling point, giving 3 times the horizontal resolution of the normal image. The vertical resolution remains unchanged.
The “pixel geometry” of a display monitor refers to the way the subpixels are arranged on its display surface to form pixels. Two geometries are current supported by this trasform, namely:
RGB stripes layout (most common on computer displays)
BGR stripes layout
When should I use Subpixel Rendering?
You should only use subpixel rendering in situations where you have complete knowledge of where and how the image will be used. In particular, you should avoid it in situations where the image might be resized, printed or used on a display with a different geometry.
Images that have undergone this transform must be displayed at 1:1 mapping; i.e., at such a size that 1 pixel in the image equals 1 pixel on the screen. Any other size will result in serious color artifacts and loss of quality. The pixel geometry of the monitor used to display the image must match the geometry used to generate the image; otherwise, serious color distortion and ghosting will occur.
Subpixel Rendering is display-dependent; an image that has undergone this process may appear distorted when displayed on a monitor with a different subpixel layout. If the zoom is anything other than 100% (i.e. 1:1 mapping), the image will look worse than horrible.