| Summary: | ProgressBar animation causes redraws even if invisible | ||
|---|---|---|---|
| Product: | [Plasma] Breeze | Reporter: | Fabian Vogt <fabian> |
| Component: | QStyle | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | bugseforuns, nate, noahadvs, uhhadd |
| Priority: | NOR | ||
| Version First Reported In: | 5.27.4 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/breeze/commit/47ba564392d42991931491740d02bb1aed8409b6 | Version Fixed/Implemented In: | 5.27.5 |
| Sentry Crash Report: | |||
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 |
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