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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/commit/de461c1b7
                   |                            |f39b7e47974c6f769247bfd0c16
                   |                            |77d8
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED

--- Comment #10 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit de461c1b7f39b7e47974c6f769247bfd0c1677d8 by Dmitry Kazakov.
Committed on 05/05/2023 at 11:46.
Pushed by dkazakov into branch 'master'.

Fix hiccups when image has a big filter layer

The hiccups were caused buy the thumbnail generator that tried
to calculate the layer's exact bounds right in the middle of the
stroke. It did that in the GUI stroke, which could delay the
updates up to 200ms, which is quite visible to the user.

The patch moves thumbnail generation into a background stroke.

It uses the same technology as Overview Docker and extracts it in
a form of KisIdleTasksManager and KisIdleTaskStrokeStrategy. In the
following patch I will port OverviewDocker and other places to use
KisIdleTasksManager.

M  +5    -0    libs/image/kis_base_node.cpp
M  +6    -0    libs/image/kis_base_node.h
M  +13   -2    libs/image/kis_idle_watcher.cpp
M  +4    -1    libs/image/kis_idle_watcher.h
M  +6    -0    libs/image/kis_layer.cc
M  +2    -0    libs/image/kis_layer.h
M  +7    -0    libs/image/kis_mask.cc
M  +1    -0    libs/image/kis_mask.h
M  +8    -0    libs/image/kis_selection_based_layer.cpp
M  +2    -0    libs/image/kis_selection_based_layer.h
M  +3    -2    libs/libqml/plugins/kritasketchplugin/models/LayerModel.cpp
M  +3    -0    libs/ui/CMakeLists.txt
A  +52   -0    libs/ui/KisIdleTaskStrokeStrategy.cpp     [License: GPL(v2.0+)]
A  +38   -0    libs/ui/KisIdleTaskStrokeStrategy.h     [License: GPL(v2.0+)]
A  +125  -0    libs/ui/KisIdleTasksManager.cpp     [License: GPL(v2.0+)]
A  +83   -0    libs/ui/KisIdleTasksManager.h     [License: GPL(v2.0+)]
A  +190  -0    libs/ui/KisLayerThumbnailCache.cpp     [License: GPL(v2.0+)]
A  +48   -0    libs/ui/KisLayerThumbnailCache.h     [License: GPL(v2.0+)]
M  +1    -1    libs/ui/KisPart.cpp
M  +12   -1    libs/ui/KisViewManager.cpp
M  +3    -0    libs/ui/KisViewManager.h
M  +1    -1    libs/ui/kis_node_filter_proxy_model.cpp
M  +28   -2    libs/ui/kis_node_model.cpp
M  +6    -1    libs/ui/kis_node_model.h
M  +2    -2    libs/ui/tests/kis_model_index_converter_test.cpp
M  +5    -5    libs/ui/tests/kis_node_model_test.cpp
M  +3    -3    plugins/dockers/channeldocker/channeldocker_dock.cpp
M  +5    -5    plugins/dockers/histogram/histogramdocker_dock.cpp
M  +6    -23   plugins/dockers/layerdocker/LayerBox.cpp
M  +0    -5    plugins/dockers/layerdocker/LayerBox.h
M  +1    -1    plugins/dockers/layerdocker/tests/TestNodeView.cpp
M  +4    -4    plugins/dockers/overview/overviewwidget.cc
M  +1    -1    plugins/dockers/storyboarddocker/StoryboardModel.cpp

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

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

Reply via email to