Better anti-aliasing
Bert Freudenberg
bert at freudenbergs.de
Fri Apr 25 04:55:00 EDT 2008
On 25.04.2008, at 07:54, Benjamin M. Schwartz wrote:
>
> Nope. Take out your magnifying glass and look: each pixel is either
> red,
> green, or blue, even in monochrome mode. Those are not software-
> controlled
> filters; they're formed by a fixed physical diffraction grating.
> Monochrome mode just tells the software to set R=G=B, but with the
> backlight on only one of those three is actually displayed at each
> pixel.
So far we agree ...
> One amusing question is: could software potentially set monochrome
> mode
> and then use fancy color-adaptive subpixel rendering to do optimized
> display of fonts and images? Maybe, but at 200 dpi the gains would be
> small, and the computational overhead would be huge.
... but here you lost me.
There is no need for "fancy color-adaptive subpixel rendering". The
framebuffer with its 1200x900 resolution maps 1:1 to physical display
pixels. The DCON simply selects the red channel of the first pixel,
and the green of the second, and the blue of the third, and so on.
This does not affect pixel geometry. Thus normal full-pixel anti-
aliased software rendering will do The Right Thing.
One thing that someone (Albert IIRC) proposed was doing a better
filtering job than the DCON does - it uses a simple 5-tap filter which
adds a noticeable amount of blur. It is still vital to do filtering,
otherwise a single red pixel surrounded by black background that
happens to fall on a blue physical pixel would not be seen at all, the
filter ensures that at least half of its energy is distributed to the
adjacent red physical pixels. Or a single white pixel would appear
colored.
To experiment with this, it would be necessary to disable the DCON 5-
tap filter, but to not switch on its color transformation (which
translates colors into gray values using a perception-based formula,
green contributes more energy than red or blue). These two settings
are coupled in recent hardware and/or software versions. I remember I
could toggle them separately on a display prototype in 2006, but not
anymore. This does make sense for normal use, it would only be nice
for experimenting. Is it a hardware thing?
- Bert -
More information about the Devel
mailing list