[cairo] Mozilla on Cairo
rocallahan at novell.com
Tue May 31 01:49:32 PDT 2005
On Mon, 2005-05-30 at 22:25 +0200, Leon Woestenberg wrote:
> "absolutely essential" is subjective.
> GUI's are very tightly packed with information. Presenting this
> information in a non-blurred and non-aliased manner is vital.
> Given that we have all the information to be presented available,
> I would suggest to create high-fidelity graphics output.
> Aside from 256-level anti-aliasing, more demanding GUI's need more:
> weighted area filtering instead of unweighted area filtering.
> libpixman uses unweighted area sampling (box filter) currently.
> A good short read on this are pages 1-3 of this paper:
> Platt, K.
> Computer graphics techniques and tradeoffs in avionics displays
> Proceedings of the 21st Digital Avionics Systems Conference, Volume 2,
> Section 11.A.1, Pages 1-13, October 27th-31st 2002, Irvine, CA, USA
> Piscataway, NJ, USA, IEEE, 2002
> Agreed, avionics have high demands.
> TFT type displays need other filters, back from the ideal sinc()
> or Gaussian filter to cone or box type filters.
While 256 levels is obviously desirable, it's not "absolutely essential"
to consumer-grade UIs; lots of UIs today function quite well without any
Hardware and software limitations usually force us to make tradeoffs,
and the correct tradeoff is application-dependent. For avionics you may
be able to specify high-end hardware so no tradeoffs are required ... or
maybe you don't care about seam artifacts. On the other hand, users want
to run Firefox on low-end machines, and in that case speed is most
important; below that I think avoidance of seam artifacts is more
important than general-purpose antialiasing.
I hope we all agree that cairo should give the application developer
some control over these decisions.
[Eventually I'd like to be able to make the tradeoff dynamically ...
e.g., do low-quality rendering while animation is happening, and do a
high-quality pass when animation stops.]
More information about the cairo