&gt; 1) Recently, we activated a new setDirty(QVector&lt;QRect&gt;) signals, so it<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">

&gt; might be a reason. To check this you can edit KisPainter::takeDIrtyRegion()<br>
&gt; to return a united rect instead. But you&#39;ll need some stable method of<br>
&gt; measurement for this.<br>
<br>
</div>That could indeed be a candidate. It replaced a patch where we used QRegion which definitely caused a slowdown. Using the unified rect, however, slows down mirrored and two-handed painting badly. We could probably make this conditional if it&#39;s really the problem.<br>
</blockquote><div><br>Better just tweak the parameters of the optimizer ;) <br></div><div><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im">&gt; 2) I had such problem when I forgot to disable assert checks and tested<br>
&gt; Dedug build =). RelWithDebInfo should be ok, I guess (Cyrille will correct<br>
&gt; me if i&#39;m wrong =) )<br>
<br>
</div>KritaDevs should be good: it has asserts, debug symbols and optimizations. There&#39;s a huge difference between unoptimized and optimized builds.<br></blockquote><div><br>About a year ago, valgrind showed much time spent on asserts, maybe it might be better to avoid this.<br clear="all">
</div></div><br>-- <br>Dmitry Kazakov<br>