Bug 320213 - SmudgeBrush and a Layer with TransparencyMask performance [BUG]
Summary: SmudgeBrush and a Layer with TransparencyMask performance [BUG]
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-24 12:56 UTC by Paul Geraskin
Modified: 2013-12-28 14:58 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Geraskin 2013-05-24 12:56:06 UTC
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.
Comment 1 Dmitry Kazakov 2013-05-24 13:06:00 UTC
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().
Comment 2 Dmitry Kazakov 2013-12-24 11:25:23 UTC
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
Comment 3 Dmitry Kazakov 2013-12-28 14:58:46 UTC
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