Bug 483680 - Triggering a floating change invokes PanelView::updateFloating() 13 times, so its animation isn't smooth
Summary: Triggering a floating change invokes PanelView::updateFloating() 13 times, so...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: master
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: efficiency
: 484147 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-03-15 15:08 UTC by Fushan Wen
Modified: 2024-04-11 20:26 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fushan Wen 2024-03-15 15:08:04 UTC
which is not very efficient
Comment 1 Bug Janitor Service 2024-03-15 17:34:29 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2126
Comment 2 Bug Janitor Service 2024-03-15 17:39:57 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4075
Comment 3 Fushan Wen 2024-03-18 15:29:28 UTC
Git commit 9d78c7816fa21a0bf688992e212d51b4d4bb09d3 by Fushan Wen.
Committed on 18/03/2024 at 13:28.
Pushed by fusionfuture into branch 'master'.

Panel: adapt to PanelView changes

M  +10   -14   desktoppackage/contents/views/Panel.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/9d78c7816fa21a0bf688992e212d51b4d4bb09d3
Comment 4 Fushan Wen 2024-03-18 15:33:08 UTC
Git commit 428dd6ef576e3f3b1a412ab345de1805b0113156 by Fushan Wen.
Committed on 18/03/2024 at 15:19.
Pushed by fusionfuture into branch 'master'.

PanelView: make floating panel more efficient

When floatingness is changed by QML Animation, updateFloating() is called
many times, and updateMask() is called at least 26 times, but some parts of updateFloating() don't need to be called more
than once. By moving the animation to PanelView, PanelView doesn't need
to subscribe to floatingness changes in QML, instead the floatingness
property is modified by QPropertyAnimation in PanelView, which prevents
some potentially expensive operations from being called many times when
the floating state changes once.
FIXED-IN: 6.1

M  +44   -14   shell/panelview.cpp
M  +6    -3    shell/panelview.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/428dd6ef576e3f3b1a412ab345de1805b0113156
Comment 5 Nate Graham 2024-04-11 20:26:31 UTC
*** Bug 484147 has been marked as a duplicate of this bug. ***