Filter's changeRect() and merging problems

Dmitry Kazakov dimula73 at gmail.com
Mon Aug 24 13:07:43 CEST 2009


Hi, Boud!

What bookkeeping do you mean?

Current top-down approach has an issue too - it's not stateless.
FilthyNode is global. I want to make merging with recursion. In such a
case all the data will be stored in a local stack, so it'll be a bit
more thread-safe. But that is not my aim, itself. First i want to add
needRects to merging. This'll fix adj. layers bug. [1]

Secondly, i want to make this stuff thread-safe, by splitting update
regions into non-overlapping areas. This, coupled with synchronization
with KisCanvas, would eliminate flickering while painting, that is too
heavy now due to race conditions between threads.

[1] http://mail.kde.org/pipermail/kimageshop/2009-August/007297.html


On Mon, Aug 24, 2009 at 2:55 PM, Boudewijn Rempt<boud at valdyas.org> wrote:
> On Mon, 24 Aug 2009, Dmitry Kazakov wrote:
>
>> I think, it should be somewhat "down-top" approach (in comparison with
>> our current "top-down" way). And everything should be based on a
>> recursion. That is just an idea. Don't know whether it's feasable.
>
> You can check the bottom-up strategy in svn -- I removed it some time ago,
> so you might have to dig through history or get it from a branch. But basically,
> what that did was getting rid bookkeeping per layer: the bookkeeping gave
> endless tread errors, so I tried to implement a stateless approach. I haven't really
> followed anything in the past two weeks, so I don't know the context much, though.
>
> And I haven't got a clue about what changed in the past two weeks :)
>
> Boudewijn
>
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>



-- 
Dmitry Kazakov


More information about the kimageshop mailing list