[cairo] Write ups on Microsoft Avalon

Øyvind Kolås oeyvindk at hig.no
Tue May 18 18:08:16 PDT 2004

* Andrew Johnson <acjgenius at earthlink.net> [040519 01:25]:
> And don't forget general widgets appearance - edges, toolbar/menu
> spacers etc, not only would thicker lines be undesirable but would look
> distorted, dependant on theme for example, because edges are not just
> one line, but usually a composite of multiple side-by-side one pixel
> lines to create a specific appearance, and the theme itself often
> decides how this will look(aka not code that can be "fixed").
> Also on the issue of turning off AA, there are places where it would be
> desirable for specific appearances, or to be able to disable on a
> situational basis esp again, for non-diagonal lines, like in the same
> issue as above, for certain aspects of widget drawing, in some
> situations AA might be desirable on edges, in others it might not,

Aliasing is something we don't want, we counter it with antialiasing, 
with >120ppi displays,. I've got 133ppi LCD display myself, and I think I
have an eyesight that is better than the average, this from experience
that my parents, and other people older than me prefer running their
crts at 1024x768 15'' to get big enough UI. This tells me that for the
average consumer "the future is now". They have high enough dpi, and the
rest of us are actually kind of nitpicky about our uis.

Being nitpicky I would say that the Nyquist-Shannon sampling theorem[1] is
what we should consider, about what is displayable in full AA. So
whatever maps to a two pixel wide line, on a consumer display is the
level of detail needed for accurate representation without aliasing
(moire etc).

"The spatial resolution limit is derived from the fact that one degree of
 a scene is projected across 288 micrometers of the retina by the eye's

 In this 288 micrometers dimension, there are 120 color sensing cone
 cells packed. Thus, if more than 120 alternating white and black lines
 are crowded side-by-side in a single degree of viewing space, they will
 appear as a single gray mass to the human eye."
   (snipped out of http://www.ndt-ed.org/EducationResources/CommunityCollege/PenetrantTest/Introduction/visualacuity.htm )

assuming I sit at a distance where a 15" monitor fills up 51.2 degrees
of my FOV, the eye would have 120*51.2  samples taken from a 12" width,
taking the sampling theorem into account I need a screen
120*51.2/2=2700 vertical strips wide. For a crt I would then need a 
3072 pixel wide display, Taking subpixel antialiasing into account, I'd
only need a 1024px wide display.

I'm not quite sure what I should conclude with, but these are the
calculations I'm able to do on the subject, and I think for many useres
we have reached the limit. Treating coordinates for screen seperate from
any other medium, especially if you consider continously zoomable
interfaces,. something one could envision for window management,. push a
window down in layers,. and it decreases in size,. pull up a window,. to
work closer on it,.. working with pixel grid aligned user interface
elements keep locking you away from the possiblity of smoothly doing
such transitions.

/Øyvind K.

  /V\    Øyvind Kolås,  Gjøvik University College, Norway 
 /(_)\   <oeyvindk at hig.no>,<pippin at users.sourceforge.net>
  ^ ^    

More information about the cairo mailing list