[cairo] Compositing benchmarks
jose_ogp at juno.com
jose_ogp at juno.com
Tue Mar 6 17:55:04 PST 2007
> > Interesting. I can tell you that evas' blending routines
> > use an approximation to the 'ideal' blending equation, which cairo
> > chooses to follows more exactly.. hence likely the speed difference
> > between these two. If liboil has something closer to cairo's, then
> > that would be a great improvement indeed...
> I had a look at the routine (_op_blend_p_dp_mmx) in evas and it
> looks it is doing: a*b/256. Is this correct? The routine used in
For a,b in [0,255] the multiplications are like ((a+1)*b)/256
and sometimes like ((a*b)+255)/256, depending on different funcs and
> > It's curious to me that cairo puts so much emphasis on
> > the 'accuracy' of compositing calculations - variations of which
> > people are unable to discern - and yet seems to put much less
> > emphasis on the 'accuracy' of scaling results - variations of
> > which people note as giving considerable differences.
> > Obviously there's a reason for this seeming disparity
> > -- possibly it's the desire to have a single unified method for
> > dealing with transforms... But I would say that this is an area
> > that could use more looking into.
> The scaling code that cairo currently uses is known to be bad
> and is not really representive of the goals of cairo. It needs
> replacing, but no one has actually done the work yet. I'd be very
> interested in knowing more about the different scaling algorithms
> that you tested and what your conclusions were.
Only a handful of them.. including evas' current code,
bilinear interpolation, and even a stab at using 'mipmapping'.
I had certain requirements at hand that I needed to
satisfy, and all failed in some respect. In the end I had to write
a version to meet my needs.. But it too is unsatisfactory in many
respects, even within its limits.
No, this is something that needs some serious thought.
Surely someone somewhere in the comp gfx community has gone
over this in detail before?
More information about the cairo