https://bugs.kde.org/show_bug.cgi?id=356479

Fabian Vogt <fab...@ritter-vogt.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fab...@ritter-vogt.de

--- Comment #53 from Fabian Vogt <fab...@ritter-vogt.de> ---
Created attachment 100349
  --> https://bugs.kde.org/attachment.cgi?id=100349&action=edit
Patch to confirm cause

The issue is that for every SNI notification with iconThemePath set, it (heap)
allocates a lot of stuff, including an KIconLoader and KIconEngine.
(SystemTray::resolveIcon in plasma-workspace/applets/systemtray/systemtray.cpp)
I quickly hacked a patch together to confirm that this is actually the cause
for the load. It seems to improve the cpu % significantly with skype.
The result is that most of the time is spent in malloc. I found that with perf
record --call-graph plasmashell easily.
sni-qt uses IconThemePath by default, but neither KStatusNotifierItem nor
QSystemTrayIcon do, so I guess that only Qt4 apps are affected.

Can someone confirm that the patch also works for other "plasma-breaking"
programs?

@devs:
Is the correct approach for a fix to cache the final QIcon? If yes, I'd like to
make a proper patch and put it up for review.
I'd like to reduce the amount of allocations in that context (like KIconLoader
in AppIconLoader), but I don't see an easy way to fix that.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to