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.