https://bugs.kde.org/show_bug.cgi?id=436642

            Bug ID: 436642
           Summary: Infinite "update" loop with transform mask
           Product: krita
           Version: nightly build (please specify the git hash!)
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Resize/Scale Image/Layer
          Assignee: krita-bugs-n...@kde.org
          Reporter: grum...@grum.fr
  Target Milestone: ---

Created attachment 138173
  --> https://bugs.kde.org/attachment.cgi?id=138173&action=edit
Example of inifite loop update clearly visible

SUMMARY

When a transform mask is applied, krita is entering in an infinite loop to
update again and again and again the render...

STEPS TO REPRODUCE
1. Create a paint layer, draw some stuff
2. Add a transform mask apply a transformation 
   - A basic transformation (scale+rotation) is enough to reproduce bug
3. Krita apply transformation again and again and again

Ok, here we can tell "how do you see it?"
So let's continue a little bit in steps to clearly see what's happening

4. Add filter a layer "halftone", mode "intensity", screen generator "DITH 0404
WAVE"
5. Activate log docker
   - You'll see:
PatternGeneratorConfiguration::pattern "DITH 0404 WAVE"
LocalResourceSource::resourceForName "DITH 0404 WAVE"

6. wait for a while
   - On my side after 1h30 without doing nothing, thousands of log lines are
generated 

Worst situation: in my situation, I have multiple filters layers (gaussian
blur,  HSV adjustment, ...)
7. Add some other filter layers
   - We can see in layer stack all filter layer are continuously refreshed,
more filter layer you have, more it's visible

8. Deactivate transform mask, infinite loop is stopped, until transform mask is
reactivated


OBSERVED RESULT
- See STEPS TO REPRODUCE for observed results
- According to image complexity (dimension, number of filters layer to
recalculate and their type) krita is consumming 100%CPU on many cores
- I've attached a webm file where we can see:
  . the "update" progress bar in status bar (right-bottom side)
  . the log docker, in which log are added (difficult to see, but when I select
content we can it disappear)
  . the layer stack: we can see activity when tiles are recalculated, there's a
"blink" of white areas that is occurring in a kind of loop cycle



EXPECTED RESULT
- Once transformation layer is applied, it shouldn't be refreshed in a loop


SOFTWARE/OS VERSIONS
 Version: 5.0.0-prealpha (git 91625c4)

Note: with Krita 4.4.3, problem doesn't appear; we can expect that Krita 5.0.0
is working as well as Krita 4.4.3 :-)



Grum999

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to