Performance enhancement

Sven Langkamp longamp at reallygood.de
Fri Feb 4 15:25:52 CET 2005


On Friday 04 February 2005 14:14, Casper Boemann wrote:
> Hi
>
> I have implemented my idea regarding optimizing blitting.
>
> And a performance test shows 10-30 times improvement over the unoptimized
> new tilemgr.
>
> I haven't compared it against the old tilecode, but extrapolating from
> boudewijn's mail from mid january it should be around 3 times faster.
>
> Optimized new Tilemgr
> ------------------------------------
> * bitBlt test
>   Testing blitting on RGBA
>    3 blits of rectangles < tilesize with opacity 255 and composite op 0:
> 0ms 3 blits of rectangles 3 * tilesize with opacity 255 and composite op 0:
> 2ms 3 blits of rectangles 800 x 800 with opacity 255 and composite op 0:
> 82ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 255 and
> composite op 0: 40ms
>    3 blits of rectangles < tilesize with opacity 127 and composite op 0:
> 0ms 3 blits of rectangles 3 * tilesize with opacity 127 and composite op 0:
> 2ms 3 blits of rectangles 800 x 800 with opacity 127 and composite op 0:
> 82ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 127 and
> composite op 0: 39ms
>    3 blits of rectangles < tilesize with opacity 255 and composite op 12:
> 0ms 3 blits of rectangles 3 * tilesize with opacity 255 and composite op
> 12: 1ms
>    3 blits of rectangles 800 x 800 with opacity 255 and composite op 12:
> 32ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 255 and
> composite op 12: 19ms
>    3 blits of rectangles < tilesize with opacity 127 and composite op 12:
> 0ms 3 blits of rectangles 3 * tilesize with opacity 127 and composite op
> 12: 1ms
>    3 blits of rectangles 800 x 800 with opacity 127 and composite op 12:
> 32ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 127 and
> composite op 12: 18ms
>
>    ----------------------------
>    Unoptimized new Tilemgr
>
>    * bitBlt test
>   Testing blitting on RGBA
>    3 blits of rectangles < tilesize with opacity 255 and composite op 0:
> 2ms 3 blits of rectangles 3 * tilesize with opacity 255 and composite op 0:
> 14ms
>    3 blits of rectangles 800 x 800 with opacity 255 and composite op 0:
> 962ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 255 and
> composite op 0: 381ms
>    3 blits of rectangles < tilesize with opacity 127 and composite op 0:
> 2ms 3 blits of rectangles 3 * tilesize with opacity 127 and composite op 0:
> 14ms
>    3 blits of rectangles 800 x 800 with opacity 127 and composite op 0:
> 960ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 127 and
> composite op 0: 380ms
>    3 blits of rectangles < tilesize with opacity 255 and composite op 12:
> 2ms 3 blits of rectangles 3 * tilesize with opacity 255 and composite op
> 12: 14ms
>    3 blits of rectangles 800 x 800 with opacity 255 and composite op 12:
> 936ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 255 and
> composite op 12: 371ms
>    3 blits of rectangles < tilesize with opacity 127 and composite op 12:
> 2ms 3 blits of rectangles 3 * tilesize with opacity 127 and composite op
> 12: 14ms
>    3 blits of rectangles 800 x 800 with opacity 127 and composite op 12:
> 938ms 3 blits of rectangles 500 x 500 at 600,600 with opacity 127 and
> composite op 12: 371ms
wow. That's really amazing. I can't wait to see it.


More information about the kimageshop mailing list