Hi devs. Here is the bug with a SmudgeBrush and a Layer with TransparencyMask. DmitryK knows about it. My video: https://vimeo.com/66896205 How to repeat it: - create a new transparent layer - add Transparency Mask - Take any Smudge Brush - Paint on a layer. You will get very big performance issue. My machine: Linux kubuntu 64bit, qt 4.8.1, Krita 2.7 git. Bug appears with opengl and without opengl. Thanks.
It must be some exactBounds() calculation problem. Because the bug happens only on layers with fully transparent default pixel, which is the condition of disabling fast-path branch in the calculation of KisPaintDevice::exactBounds().
Git commit bed45070e34608d950d02e1ff3ed2e440ff5e597 by Dmitry Kazakov. Committed on 24/12/2013 at 11:24. Pushed by dkazakov into branch 'master'. Fix speed regression when painting in BuildUp mode on a Transparent Layer with a Transparency Mask The KisSelectionDefaultBounds should not call exactBounds() every time, since it would result in constant boudns recalculation when the user paints in BuildUp mode (which is always the case for ColorSmudgeOp). M +1 -1 krita/image/kis_default_bounds.cpp M +0 -1 krita/image/kis_paint_device.cc http://commits.kde.org/calligra/bed45070e34608d950d02e1ff3ed2e440ff5e597
Git commit 148bc356a9f23ba1f1c9daee1f5885aca05637a4 by Dmitry Kazakov. Committed on 24/12/2013 at 11:24. Pushed by dkazakov into branch 'calligra/2.8'. Fix speed regression when painting in BuildUp mode on a Transparent Layer with a Transparency Mask The KisSelectionDefaultBounds should not call exactBounds() every time, since it would result in constant boudns recalculation when the user paints in BuildUp mode (which is always the case for ColorSmudgeOp). M +1 -1 krita/image/kis_default_bounds.cpp M +0 -1 krita/image/kis_paint_device.cc http://commits.kde.org/calligra/148bc356a9f23ba1f1c9daee1f5885aca05637a4