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