[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Dmitry Kazakov 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 --- 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-0libs/image/kis_base_node.cpp M +6-0libs/image/kis_base_node.h M +13 -2libs/image/kis_idle_watcher.cpp M +4-1libs/image/kis_idle_watcher.h M +6-0libs/image/kis_layer.cc M +2-0libs/image/kis_layer.h M +7-0libs/image/kis_mask.cc M +1-0libs/image/kis_mask.h M +8-0libs/image/kis_selection_based_layer.cpp M +2-0libs/image/kis_selection_based_layer.h M +3-2libs/libqml/plugins/kritasketchplugin/models/LayerModel.cpp M +3-0libs/ui/CMakeLists.txt A +52 -0libs/ui/KisIdleTaskStrokeStrategy.cpp [License: GPL(v2.0+)] A +38 -0libs/ui/KisIdleTaskStrokeStrategy.h [License: GPL(v2.0+)] A +125 -0libs/ui/KisIdleTasksManager.cpp [License: GPL(v2.0+)] A +83 -0libs/ui/KisIdleTasksManager.h [License: GPL(v2.0+)] A +190 -0libs/ui/KisLayerThumbnailCache.cpp [License: GPL(v2.0+)] A +48 -0libs/ui/KisLayerThumbnailCache.h [License: GPL(v2.0+)] M +1-1libs/ui/KisPart.cpp M +12 -1libs/ui/KisViewManager.cpp M +3-0libs/ui/KisViewManager.h M +1-1libs/ui/kis_node_filter_proxy_model.cpp M +28 -2libs/ui/kis_node_model.cpp M +6-1libs/ui/kis_node_model.h M +2-2libs/ui/tests/kis_model_index_converter_test.cpp M +5-5libs/ui/tests/kis_node_model_test.cpp M +3-3plugins/dockers/channeldocker/channeldocker_dock.cpp M +5-5plugins/dockers/histogram/histogramdocker_dock.cpp M +6-23 plugins/dockers/layerdocker/LayerBox.cpp M +0-5plugins/dockers/layerdocker/LayerBox.h M +1-1plugins/dockers/layerdocker/tests/TestNodeView.cpp M +4-4plugins/dockers/overview/overviewwidget.cc M +1-1plugins/dockers/storyboarddocker/StoryboardModel.cpp https://invent.kde.org/graphics/krita/commit/de461c1b7f39b7e47974c6f769247bfd0c1677d8 -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Dmitry Kazakov changed: What|Removed |Added Status|REPORTED|CONFIRMED Keywords||regression Ever confirmed|0 |1 Assignee|krita-bugs-n...@kde.org |dimul...@gmail.com --- Comment #9 from Dmitry Kazakov --- This is a regression from my exactBounds-for-thumbnails commit: * frame #0: 0x7ffdbcafa4bb kritalayerdocker.dll`LayerBox::updateUI() [inlined] QMessageLogContext::QMessageLogContext(this=0x002ab451b918, fileName=0x, lineNumber=0, functionName=0x, categoryName=) at qlogging.h:70:9 frame #1: 0x7ffdbcafa4bb kritalayerdocker.dll`LayerBox::updateUI() [inlined] QMessageLogger::QMessageLogger(this=0x002ab451b918, file=0x, line=0, function=0x) at qlogging.h:91:11 frame #2: 0x7ffdbcafa4bb kritalayerdocker.dll`LayerBox::updateUI(this=0x01b3b0da44a0) at LayerBox.cpp:650:5 frame #3: 0x7ffe04e50cbb Qt5Core.dll`void doActivate(QObject*, int, void**) at qobject.cpp:3931:21 frame #4: 0x7ffe04ddf600 Qt5Core.dll`QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector const&) at moc_qabstractitemmodel.cpp:557:5 frame #5: 0x7ffe12e07ebf libkritaui.dll`KisNodeModel::progressPercentageChanged(this=0x01b3b0f5bea0, (null)=, node=) at kis_node_model.cpp:212:14 frame #6: 0x7ffe12c2aaf8 libkritaui.dll`KisNodeModel::qt_static_metacall(_o=, _c=, _id=, _a=) at moc_kis_node_model.cpp:142:22 frame #7: 0x7ffe04e50cbb Qt5Core.dll`void doActivate(QObject*, int, void**) at qobject.cpp:3931:21 frame #8: 0x7ffe09ca90e5 libkritaimage.dll`KisNodeProgressProxy::percentageChanged(this=, _t1=, _t2=) at moc_kis_node_progress_proxy.cpp:137:5 frame #9: 0x7ffe09f8cf0f libkritaimage.dll`KisNodeProgressProxy::setRange(this=, _minimum=, _maximum=) at kis_node_progress_proxy.cpp:82:14 -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 --- Comment #8 from tomtomtomreportin...@gmail.com --- It applies to both the stroke and the outline if I enable the brush preview outline. -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 --- Comment #7 from tomtomtomreportin...@gmail.com --- The delay applies to the stroke, and happens regardless of whether instant preview is enabled or not. -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 --- Comment #6 from Dmitry Kazakov --- Hi, tomtomtom! Could you clarify a little bit, what exactly you consider to be a stutter? a) a small delay the brush **outline** experiences, or b) a small delay the brush **stroke** experience Could you also tell me if you have Instant Preview feature enabled? And does disabling it helps anyhow? I have a feeling like the preview generation itself is not related, by the stutter you experience is variant b) caused by the instant preview feature. -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 --- Comment #5 from tomtomtomreportin...@gmail.com --- Issue seems reproducible on a 3000x4000 canvas but not a 500x1000 canvas. -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 tomtomtomreportin...@gmail.com changed: What|Removed |Added Resolution|WAITINGFORINFO |--- Ever confirmed|1 |0 Status|NEEDSINFO |REPORTED -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 --- Comment #4 from tomtomtomreportin...@gmail.com --- Created attachment 158423 --> https://bugs.kde.org/attachment.cgi?id=158423=edit Stutter produced from a desaturate filter layer I can still reproduce the issue on git 7a932e3. I've attached a video where you can observe stutter on the initialization of delayed strokes. -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Dmitry Kazakov changed: What|Removed |Added Status|REOPENED|NEEDSINFO Resolution|--- |WAITINGFORINFO --- Comment #3 from Dmitry Kazakov --- Mark as waiting for info -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Dmitry Kazakov changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|DUPLICATE |--- Ever confirmed|0 |1 -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Dmitry Kazakov changed: What|Removed |Added CC||dimul...@gmail.com --- Comment #2 from Dmitry Kazakov --- Hi, tomtomtom! Could you please test the bug in the current master? I cannot reproduce the issue it seems. Could you make a video? -- You are receiving this mail because: You are watching all bug changes.
[krita] [Bug 459517] [master] Performance when working under filter layers is significantly worse (likely due to layer thumbnail generation)
https://bugs.kde.org/show_bug.cgi?id=459517 Raghavendra kamath changed: What|Removed |Added Status|REPORTED|RESOLVED Resolution|--- |DUPLICATE CC||ra...@raghukamath.com --- Comment #1 from Raghavendra kamath --- *** This bug has been marked as a duplicate of bug 458475 *** -- You are receiving this mail because: You are watching all bug changes.