Performance tests

Boudewijn Rempt boud at valdyas.org
Wed Jan 19 09:51:00 CET 2005


I've run the performance tests (in a completely unscientific way) for bitblt, 
fill (but not floodfill) and pixel/setpixel both for the new autolayers code 
and for the old code by Patrick Julien. I've attached the kspread sheet in 
html format; there are a number of interesting things to be learned here.

* There's somehow more variability in the performance of the autolayers code 
than there was with the old code -- this may just be a result of the 
unscientific test environment (i.e., a laptop that heats up pretty quickly.)

* blitting has become four to forty times slower -- I guess this means that we 
should not feed single pixels to the colour strategies, but tile-size chunks 
of data.

* (rectangluar) Filling is very slow, too -- this is noted in the 
tileddatamanager code; we shouldn't use iterators here, but just create tiles 
in the new colour and save the old tiles for undo.

* Reading pixels is 3 to 7 times faster.

* Writing single pixels is 3 times slower: we should try to do a single pixel 
write without creating an iterator. Single pixel writes don't need undo 
anyway.

Anyway, there's a lot of scope for optimizing here. And given that every cycle 
we spend getting/writing pixels is a cycle we cannot use for fun stuff like 
brush effects, paint simulation or filtering, it would repay the effort.

By the way: Casper, do you have any idea about the thread-safety of the new 
code? I've managed to get the wet & sticky code working, and I'd like to 
implement the paint engine as a visitor running in its own thread. A kind of 
permanently running filter. (Which would be a cool thing in its own to have.)

-- 
Boudewijn Rempt 
http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20050119/d1bb9589/kritaperfreport2-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20050119/d1bb9589/attachment-0001.pgp


More information about the kimageshop mailing list