[calligra/krita-bounded-pooler-kazakov] krita/image: Implemented a new bounded tile data pooler

Dmitry Kazakov dimula73 at gmail.com
Mon Mar 7 10:09:42 CET 2011


On Sun, Mar 6, 2011 at 10:18 PM, Dmitry Kazakov <> wrote:

> Git commit e09e0f0b9db6e95aa8a35c879c2d9b530f48d838 by Dmitry Kazakov.
> Committed on 06/03/2011 at 19:38.
> Pushed by dkazakov into branch 'krita-bounded-pooler-kazakov'.
>
> Implemented a new bounded tile data pooler
>
> (!) Important notice: it would be more safe to perform 'make clean'
>    in krita/image/ directory if you decide to switch to this branch
>
> Well, this commit implements a new memory-bounded pooler thread. The
> configuration of the pool is done using a special option
> "memoryPoolLimitPercent". It sets the percent of the memory, that you
> would like to spend on the tiles pool. Please notice, that this value
> is included in hard/soft limits as well. That means Krita will never
> take more than Hard Limit memory on tiles and clones together.
>
> This implementation performs not full power yet. I haven't done any
> optimizations, so the highest efficiency it can reach now is 50% of
> tiles pre-clone hits. I could get this numbers on gradient tool and on
> very short brush strokes. It is quite curious, but the longer stroke
> you do, the less efficient the pooler is. I hope i'll get it fixed
> soon.
>

I did some research for the pooler efficiency. It looks like many
clones-cache miss'es happen due to temporary paint devices we create during
the stroke, and it isn't possible to pre-clone any of them beforehand. So
the the best thing the pooler can do right now is to preallocate 10-50% of
the tiles used in a stroke. I think this is not a bad result anyway =)

So if anyone tested this branch, i would merge it into master ;)

If you think there is interferences or slowdowns cause by the pooler, you
can disable it with setting "memoryPoolLimitPercent" option to 0.

-- 
Dmitry Kazakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20110307/96e71058/attachment.htm 


More information about the kimageshop mailing list