[cairo] ahhh ! I think I get it ! - the fbCompositeCopyAreammx case.
sandmann at daimi.au.dk
Fri Mar 28 07:14:21 PDT 2008
Frédéric Plourde <frederic.plourde at polymtl.ca> writes:
> And I finally understood why you get consistent, no-gain results, even as image size goes up... (it's a very silly reason, in fact), it's because the "subimage_copy" perftest only copies a 2 X 2 area, no matter how large the image is !! A Questionnable choice if you ask me... But I shouldn't judge this choice so harshly, whoever put it that way at first sure had good reasons, but I'll bring up this issue to cairographics very soon, of course.
But if it only copied a 2 x 2 area, why did you see such performance
gains? The copy operation would not have had any significant impact on
> To get a sense of the progression of our little fbCompositeCopyAreammx as image scales up, just change line #40 of subimage_copy.c from
> cairo_rectangle (cr, 2, 2, 4, 4);
> cairo_rectangle (cr, 0, 0, width, height);
> ... or apply the attached patch ;-)
With that change, I do see significant performance gains in the rgb
image-rgb subimage_copy-128 0.04 0.51% -> 0.02 1.71%: 2.20x speedup
image-rgb subimage_copy-64 0.02 0.63% -> 0.01 2.04%: 1.87x speedup
image-rgb subimage_copy-256 0.08 0.92% -> 0.06 0.59%: 1.38x speedup
image-rgb subimage_copy-32 0.01 1.69% -> 0.01 1.92%: 1.24x speedup
image-rgb subimage_copy-16 0.01 2.02% -> 0.01 1.98%: 1.13x speedup
So, Vlad, feel free to push the patch, but please also make the same
change in the ABGR->XBGR case.
More information about the cairo