[cairo] Re: Using ADD operator to prevent seams

Robert O'Callahan rocallahan at gmail.com
Tue Mar 22 13:35:01 PST 2005


Thanks for this thread. It was well written, very educating and
directly addresses my questions and needs.

Gecko's in the same boat as Inkscape. Web authors also write documents
that induce the adjoining edge problem, e.g., something as simple as a
sequence of line boxes with a background color. (But lots of more
complicated scenarios exist.) Currently this causes us problems
because we simply don't round correctly (e.g.
https://bugzilla.mozilla.org/show_bug.cgi?id=173051) but even if we
fix that, we're still going to have problems on antialiased devices.

Like Inkscape, figuring out adjoining edges in general is going to be
prohibitively complex and probably too slow also ... speed is
incredibly important to us. That also rules out compositing with lots
of temporary buffers. The dilation approach will cause artifacts with
transparent fills. So my guess is we'll want to go with the Flash-like
supersampling approach. I think we could automatically tune the system
to use supersampling only when rendering is keeping up with the
document's demands, given the available resources.

A few questions:
-- Does this conclusion sound reasonable, or have I misunderstood something?
-- Should I expect Glitz to make the supersampling approach really
fast for users with sufficient VRAM?
-- Given that we don't want coverage-based antialiasing, does that
mean to maximise performance we really want something other than the
current Cairo rasterizer?

Rob
-- 
["Therefore, my dear friends, as you have always obeyed–not only in my
presence, but now much more in my absence–continue to work out your
salvation with fear and trembling, for it is God who works in you to will
and to act according to his good purpose." Philippians 2:12-13.]



More information about the cairo mailing list