[plasmashell] [Bug 356479] plasmashell uses 100% CPU when there is an animation in the task bar
https://bugs.kde.org/show_bug.cgi?id=356479 Lindsay Robertschanged: What|Removed |Added Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #92 from Lindsay Roberts --- Am marking this bug resolved - it's scope being as David mentioned above, systray related CPU usage. High CPU usage when copying files via Dolphin with task status is still a problem; suggest we track that in the existing specific item https://bugs.kde.org/show_bug.cgi?id=312919 . Doesn't seem to be the same as issue (2) mentioned above, perf shows lots of dbus. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 356479] plasmashell uses 100% CPU when there is an animation in the task bar
https://bugs.kde.org/show_bug.cgi?id=356479 --- Comment #91 from Lindsay Roberts--- For all those playing at home, the change in https://phabricator.kde.org/D2986 has now been committed. This makes the changes I suggested above as well as completely removing the code identified in the perf traces. Anyone willing to test master to help confirm the fix and it's lack of side effects is extremely welcome. -- You are receiving this mail because: You are watching all bug changes.
[frameworks-plasma] [Bug 301841] Plasma tooltip popups block user interface
https://bugs.kde.org/show_bug.cgi?id=301841 Lindsay Robertschanged: What|Removed |Added CC||lind...@gmail.com Resolution|--- |FIXED Status|CONFIRMED |RESOLVED --- Comment #8 from Lindsay Roberts --- Closing as RESOLVED:FIXED - confirmed Igor's findings from 5.4 - tooltips disappear almost instantly on mouseover. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 356479] plasmashell uses 100% CPU when there is an animation in the task bar
https://bugs.kde.org/show_bug.cgi?id=356479 --- Comment #89 from Lindsay Roberts--- The file is /usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/items/StatusNotifierItem.qml locally. If you try this, let us know if you see the same icons before and after or any other changes. Can't guarantee this doesn't produce some kind of huge regression. These are the changes I made: Line 31: //icon: ToolTipIcon != "" ? ToolTipIcon : plasmoid.nativeInterface.resolveIcon(IconName != "" ? IconName : Icon, IconThemePath) icon: ToolTipIcon != "" ? ToolTipIcon : Icon ? Icon : plasmoid.nativeInterface.resolveIcon(IconName, IconThemePath) Line 51: //source: plasmoid.nativeInterface.resolveIcon(IconName != "" ? IconName : Icon, IconThemePath) source: Icon ? Icon : plasmoid.nativeInterface.resolveIcon(IconName, IconThemePath) -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 356479] plasmashell uses 100% CPU when there is an animation in the task bar
https://bugs.kde.org/show_bug.cgi?id=356479 Lindsay Robertschanged: What|Removed |Added CC||lind...@gmail.com --- Comment #87 from Lindsay Roberts --- Confirmed Fabian's cause locally using perf/timers. It seems even worse than thought - in addition to legion allocations, it also iterates through the filesystem during KIconTheme construction, disk waits and IO on top of the visible CPU usage. A trivial test program did also turn up one more interesting bit about the problem; every time any icon in the systray changes - including a native KStatusNotifier based icon - all icons are refreshed, and this includes calling resolveIcon, and heap allocating KIconLoader/KIconTheme and it's associated fileystem iteration. Not only that, but the system tray QML references the icon (and resolveIcon) twice, so all this happens twice per affected icon, every time any icon changes. To salt that quite open wound, this includes icons hidden inside the expansion area, and in no plausible scenario needing immediate repaint. It is clear that KIconLoader is far too heavy to be constructed as part of any interactive or continuous operation. Without having spent too long in the code, the right place for any kind of cached per-application/per-icon data would seem to be in the statusnotifieritem datasource. And it seems that class actually has code for tracking a custom KIconLoader, resolving icons, and even sending them. It's possible that the code in resolveIcon is redundant, and is being used only because the QML prefers using the icon name to the QIcon() passed along: source: plasmoid.nativeInterface.resolveIcon(IconName != "" ? IconName : Icon, IconThemePath) Prefixing a preference for the provided icon before delving into resolveIcon (Icon ? Icon : ...) got rid of all significant CPU usage on my machine aside from the QML scene graph and the graphics drivers. Would require someone more knowledgeable in this area and/or significant testing to confirm this wouldn't produce any negative behaviour, however. Even with the above, we seem to be doing too much repainting due to small changes here, I haven't delved in enough to attempt to discover where and why the repaints are occurring. -- You are receiving this mail because: You are watching all bug changes.