nntrn
9/19/2019 - 9:51 PM

[subpixel] http://alienryderflex.com/sub_pixel/

RGB and Brightness Perception

How beneficial is this effect, really? Study this sample, which has black-and-white on top, greyscale in the middle, and sub-pixel rendering on the bottom, and judge for yourself:

Although R, G, and B each play equally important roles in the perception of hue (color) in human vision, they do not play equal roles in the perception of overall brightness. (See the HSP page for more detail about exactly how that works.) The green elements play the biggest role in determining how bright a pixel looks, with the red element playing a signficant role too, and the blue element playing a very small role. The sub-pixel font rendering technique described above would work best if all three colors played equal roles in the perception of pixel brightness. Since they don’t, claims that sub-pixel rendering “triples the horizontal resolution” are exaggerated.

For example, suppose hypothetically that only the green element affected brightness perception, and the other two elements affected perceived hue only. (So with the green elements off, the screen would look black irrespective of the intensity of the red and blue elements.) In that case, sub-pixel antialiasing would be useless; horizontal resolution would not increase. If, on the other hand, R, G, and B contributed equally to brightness perception, then sub-pixel antialiasing would indeed realize a 3x increase in horizontal resolution.

Since the facts lie somewhere inbetween those two extremes, we can infer that the improvement is somewhere inbetween 1x (no improvement) and 3x (maximum theoretical improvement). If two of the three elements contributed equally to brightness, and the third not at all, the effect would perhaps be a 2x improvement. Since in fact G contributes heavily, R much less, and B almost none, 1.5x seems like a reasonable guess as to the true benefit. And even that benefit is horizontal only — vertical resolution is not improved at all. A 1.5x improvement on one axis only is approximately equivalent to a 1.22x bump in screen resolution (both axes). And, since a grid of pixels displayed as elongated rectangles does not yield as clear an image as the same number of pixels arranged in a square grid (thanks to the law of diminishing returns on each axis), we’ll (somewhat arbitrarily) knock that benefit down by half to 1.11x. (And let’s not even talk about annoying color fringes, or the uneven positioning of the red pixels between the green ones...) Notice how close we’re getting to 1x (no benefit)? This is probably why many people say they don’t see a benefit, or only a slight one.