A potential area for optimization

The other day while testing some ideas brought up in a thread here I ran across a pretty annoying behavior of Krita’s that really hurts performance. It shows up more readily on larger images with filter masks on one or more layers.

When you make adjustments to things like blend mode or opacity Krita naively queues up every single change to be done one after another, even when they are no longer relevant. Such as using the slider for opacity, every little tiny bump to that will have to be processed in the order they were made, so if you grabbed the slider and dragged it around and tried to fine tune it down to a specific value, each time you slowed down or changed directions it added another update pass that has to run in full on that layer before the next one is done and the next after that and so on until every single change has had it’s turn. It some times locked up Krita for 10s of seconds before it finally got through them all and I can resume working again.

Krita should probably be a lot more smart about what sort of updates to follow through with and even consider killing an update part way through if that same value has been tweaked again.

3 Likes

This problem bites me too, I often work on files with large dimensions, and the filter masks and other things bog down Krita, the canvas refresh can be viewed like a 3d render on tile per second. Hope there is some solution.

3 Likes

You nailed it @Uradamus ! I have the same thoughts .

General Krita and its brush engine performances increase dramatically and now honestly @boud and rest of the team have nothing to be shy . Filter layers and overall all adjustments performances ( levels, color balance etc ) are last part of app which IMO need a bit of work in terms of speed. I remember how confused I was when I first time use krita after Photoshop and see that laggy color balance refreshing on canvas :wink:

Hope we will see improvements here in near future

2 Likes