[cairo] Inefficiency of _cairo_xlib_surface_composite

Bill Spitzak spitzak at d2.com
Sat Jan 29 15:17:50 PST 2005



Vasco Alexandre Da Silva Costa wrote:
> On Thu, 27 Jan 2005, Bill Spitzak wrote:
> 
> 
>>Jason Dorje Short wrote:
>>
>>
>>>>Second, I really doubt real applications are going to use 1-bit alpha
>>>>enough to make it worth detecting this. I would limit the detection to
>>>>determining if the alpha is 1 everywhere.
>>>
>>>I find that hard to believe.  In my experience, most X applications do
>>>use 1-bit alpha.  This is because 0-bit alpha is useless, and >1-bit
>>>alpha is unsupported in traditional xlib.  While XRender does support
>>>8-bit alpha, without hardware acceleration it is much slower.
>>
>>This is true and I had not thought of it this way. I was mostly
>>concerned with people porting Windows GDI+ appliations to Cairo, where
>>they have no incentive to use 1-bit alpha and thus probably do not use
>>it. However if you have an X application you probably have done things
>>to force the alpha to 1 bit and thus your translated program will be
>>slower unless Cairo can detect this.
> 
> 
> You should be more concerned with X11+OSS users. Pure Windows GDI+
> applications are more likely to use Avalon than Cairo, because it will be
> bundled with the OS. So unless Cairo manages to push a feature rich
> release many years before Avalon comes out, I wouldn't expect the bulk of
> ports to come from that direction.
> 
> The main users of Cairo will be making apps for x.org derived servers
> in Linux, FreeBSD, Solaris or MacOS X, or making cross-platform
> applications that include x.org derived servers as their supported
> platforms (like Mozilla, OpenOffice or the GIMP).
> 
> If the new API (Cairo) does not allow the user to do the same things at
> reasonable speed than the old API (X11) it will never truly be able to
> replace it, any more than C managed to replace FORTRAN.
> 
> So please, don't force us app developers to endure another FORTRAN. ;-)

I'm thinking of developers like myself who are targeting both Windows 
and Linux at the same time. Bascially we do not have any icons with 
1-bit alpha. If you ask an artist to produce an icon they will produce 
8-bit alpha (if they produce any alpha at all :)).

Cairo will allow us to use these (currently I composite them atop a gray 
rectangle and draw that on X). I suspect if Cairo works, the interest in 
1-bit alpha will drop to zero extremely fast.



More information about the cairo mailing list