It was noticed that discover has high CPU use even when idle. I narrowed this down to a Kirigami.LoadingPlaceholder and furtder to the QQC2 ProgressBar. Breeze has its own animation engine for progress bars, which calls updateItem regularly even for invisible items. Reproducer: import QtQuick 2.15 import QtQuick.Controls 2.15 ProgressBar { id: p width: 100 height: 100 visible: true onVisibleChanged: console.log(this, visible) indeterminate: true Timer { interval: 1000 repeat: false running: true onTriggered: parent.visible = false; } } Run with QT_LOGGING_RULES=*.debug=true to see the scheduled draws. Originally reproduced downstream: http://bugzilla.opensuse.org/show_bug.cgi?id=1210747
Git commit b92169d587424fef59412aaf8ceb5e2318592c8d by ivan tkachenko. Committed on 26/04/2023 at 09:06. Pushed by ratijas into branch 'master'. ProgressBar: Stop emitting polish requests when item becomes invisible M +17 -0 kstyle/animations/breezebusyindicatorengine.cpp https://invent.kde.org/plasma/breeze/commit/b92169d587424fef59412aaf8ceb5e2318592c8d
Git commit 47ba564392d42991931491740d02bb1aed8409b6 by ivan tkachenko. Committed on 26/04/2023 at 09:38. Pushed by ratijas into branch 'Plasma/5.27'. ProgressBar: Stop emitting polish requests when item becomes invisible (cherry picked from commit b92169d587424fef59412aaf8ceb5e2318592c8d) M +17 -0 kstyle/animations/breezebusyindicatorengine.cpp https://invent.kde.org/plasma/breeze/commit/47ba564392d42991931491740d02bb1aed8409b6