About vectorization and planar channels in Krita

Sven Langkamp sven.langkamp at gmail.com
Tue Oct 2 17:14:59 UTC 2012


On Tue, Oct 2, 2012 at 1:32 PM, Dmitry Kazakov <dimula73 at gmail.com> wrote:

>
>
> On Mon, Oct 1, 2012 at 2:05 AM, Sven Langkamp <sven.langkamp at gmail.com>wrote:
>
>>
>> Really interesting solution. My idea was to shuffle the alpha (that would
>> require less converts, but more other instructions) from the loaded pixel
>> but this looks better. Unfortunately I don't have a cpu that has avx, so I
>> can't test it. Would be interesting how this performs with SSE and integers
>> instead of floats.
>>
>
> Actually I initially wanted to do the integer solution, but I couldn't
> find the instruction for integer streamed division. Probably, you know one?
>

There is no instruction for that.


> We have one (and the only one) division in the composite over: it scales
> the result by the new alpha value (srcBlend), so it looks like it cannot be
> transformed to multiplication. This single division takes about 20% of
> composing time.
>

There should be solution, other applications did it too. In the worst case
you need to convert to float, do the division and convert back. That
shouldn't require more conversions and still has the advantage that
everything else is still done in integer. The other alternative is to take
it out of the register and do it scalar.


> Although, I guess, the integer solution should be a bit faster than the
> floating point one.
>

It should be.


>  2) We still need to decide what to do with grayscale selections.
>>>
>>
>> My favorite is still the composite op solution.
>>
>
> +1 ;)
>
>
> --
> Dmitry Kazakov
>
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kimageshop/attachments/20121002/b8e3a5f6/attachment.html>


More information about the kimageshop mailing list