<div class="gmail_quote">On Thu, Sep 6, 2012 at 10:27 PM, Sven Langkamp <span dir="ltr"><<a href="mailto:sven.langkamp@gmail.com" target="_blank">sven.langkamp@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><div class="gmail_quote"><div class="im">On Thu, Sep 6, 2012 at 7:36 PM, JL VT <span dir="ltr"><<a href="mailto:pentalis@gmail.com" target="_blank">pentalis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div>On Thu, Sep 6, 2012 at 12:16 AM, Sven Langkamp <span dir="ltr"><<a href="mailto:sven.langkamp@gmail.com" target="_blank">sven.langkamp@gmail.com</a>></span> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>
Hi,<div><br></div><div><br></div><div>I have pushed the krita-vc-langkamp branch. It does implement the brush mask computation with vc. </div><div>To build the branch you need a cpu with SSE2 and Vc 0.61 or git: <a href="http://code.compeng.uni-frankfurt.de/projects/vc" target="_blank">http://code</a></div>


<div><font color="#0000EE"><u><br></u></font></div></div><div><font color="#0000EE"><u>I need to look up </u></font><a href="http://code.compeng.uni-frankfurt.de/projects/vc" target="_blank">.compeng.uni-frankfurt.de/projects/vc</a></div>

<div>


<div>AVX should work too, but requires a change in the Krita cmake file.</div><div><br></div><div>With the branch there is around 15x speedup in the mask benchmark and about 2-3x speedup in the stroke benchmark (for brushes without random and density).</div>


</div></blockquote><div><br></div><div>You are a hero.</div><div> </div><div>And I juuust got an i7 Core 2600K Sandy Bridge... When I have this installed, it'll be time to compile your branch.</div><div>And play with Krita. This will be good.</div>

</div></blockquote><div><br></div></div><div>Don't get too excited. Animtim has reported an actual speedup of 2, although that was still without AVX so it might get better. I also have a few more idea how to optimize it further. </div>

</div>
</blockquote></div><br><div>I pushed some changes, so now AVX should be used if CPU is Sandy Bridge. I have also made another improvement to the apply alpha mask, not vectorized but stroke benchmark is about 15-20% faster. Callgrind show that the mask calculation is now longer the major performance bottleneck, instead the composite op is now in the top spot.</div>