<br><div class="gmail_quote">On Sun, Mar 6, 2011 at 10:18 PM, Dmitry Kazakov <span dir="ltr">&lt;&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Git commit e09e0f0b9db6e95aa8a35c879c2d9b530f48d838 by Dmitry Kazakov.<br>
Committed on 06/03/2011 at 19:38.<br>
Pushed by dkazakov into branch &#39;krita-bounded-pooler-kazakov&#39;.<br>
<br>
Implemented a new bounded tile data pooler<br>
<br>
(!) Important notice: it would be more safe to perform &#39;make clean&#39;<br>
    in krita/image/ directory if you decide to switch to this branch<br>
<br>
Well, this commit implements a new memory-bounded pooler thread. The<br>
configuration of the pool is done using a special option<br>
&quot;memoryPoolLimitPercent&quot;. It sets the percent of the memory, that you<br>
would like to spend on the tiles pool. Please notice, that this value<br>
is included in hard/soft limits as well. That means Krita will never<br>
take more than Hard Limit memory on tiles and clones together.<br>
<br>
This implementation performs not full power yet. I haven&#39;t done any<br>
optimizations, so the highest efficiency it can reach now is 50% of<br>
tiles pre-clone hits. I could get this numbers on gradient tool and on<br>
very short brush strokes. It is quite curious, but the longer stroke<br>
you do, the less efficient the pooler is. I hope i&#39;ll get it fixed<br>
soon.<br clear="all"></blockquote><div><br>I did some research for the pooler efficiency. It looks like many clones-cache miss&#39;es happen due to temporary paint devices we create during the stroke, and it isn&#39;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 =)<br>
<br>So if anyone tested this branch, i would merge it into master ;)<br><br>If you think there is interferences or slowdowns cause by the pooler, you can disable it with setting &quot;memoryPoolLimitPercent&quot; option to 0.<br>
</div></div><br>-- <br>Dmitry Kazakov<br>