Experiment · subpixel rendering
Three lights per pixel
A screen pixel is not one square light — it is three colored lights side by side. Text renderers exploit that: each subpixel decides separately whether it is inside a letter, so a vertical glyph edge gets three times the horizontal resolution it deserves. The tell is the color fringe along the edge.
The loupe
Watch a glyph edge decide
Loupe · 24 model pixels wide, each drawn as three subpixel bars
The bars are the coverage the rasterizer itself produced at subpixel positions — real antialiasing data, magnified. Where the three columns disagree, the panel is using its thirds of a pixel. Switch to grayscale AA and they are forced to agree; the fringe vanishes and the edge goes fuzzy.
How it works
Working in thirds
An LCD pixel is a row of three lights — red, green, blue — each a third of the pixel wide. A renderer doing subpixel antialiasing asks each light to decide separately whether it falls inside a glyph outline. At a vertical stroke edge that means part of the red light may sit inside the letter while the blue light still sits on the paper. The renderer gains three times the horizontal resolution of a renderer that must treat the pixel as a unit.
The cost is the tell: a fringe of color along vertical edges. It is not a rendering bug — it is the panel admitting it worked in thirds. Turn on grayscale antialiasing and the fringe disappears, because now all three lights must agree, and the edge blurs over a whole pixel instead of resolving within a third of one. (The loupe's grayscale mode is that same compromise in miniature.)
The subpixel order matters. This loupe assumes red, green, blue left to right; many OLED and some LCD panels are physically BGR. A renderer tuned for one order on a panel of the other produces colored halos instead of fringes — a mismatch you can reproduce by flipping the toggle.