Performance enhancement

Casper Boemann cbr at boemann.dk
Fri Feb 4 14:14:47 CET 2005


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

-- 
best regards / venlig hilsen
Casper Boemann


More information about the kimageshop mailing list