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

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/commit/f01f8837d
                   |                            |0980f3fb1c00b2b5e0b9ef03841
                   |                            |7b74
         Resolution|---                         |FIXED

--- Comment #3 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit f01f8837d0980f3fb1c00b2b5e0b9ef038417b74 by Dmitry Kazakov.
Committed on 22/06/2022 at 08:03.
Pushed by dkazakov into branch 'master'.

Fix a slowdown when Shift+gestrure-resize huge and complex brushes

This patch does two things:

1) Now the brush outline is generated **not** from the real brush tip,
   generated by generateMaskAndApplyMaskOrCreateDab(), but from the
   original brushTipImage(). It should generate the same outline, unless
   any of our brush modes support changing opacity of the brush tip
   (afaict, none of them support that).

2) The outline and pyramid caches are now shared between the source and
   cloned brush tips. That is, updating a cache inside a cloned brush will
   also update the cache inside the source brush (in the registry). This
   decision is a bit scary, but solves really a lot of performance troubles.
   The link between the two brush objects will be reset only when one of
   the objects calls `cache.reset()`.

M  +19   -20   libs/brush/kis_brush.cpp
M  +139  -16   libs/global/KisLazySharedCacheStorage.h

https://invent.kde.org/graphics/krita/commit/f01f8837d0980f3fb1c00b2b5e0b9ef038417b74

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

Reply via email to