Summary: | Plasmashell constantly uses ~20% of my CPU (and GPU?) when using avif wallpapers | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kimageformats | Reporter: | Firlaev-Hans <firlaevhans.fiete> |
Component: | general | Assignee: | Alex Merry <alex.merry> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | aacid, kdelibs-bugs, nate, qydwhotmail |
Priority: | NOR | Keywords: | regression |
Version: | 5.99.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=460248 | ||
Latest Commit: | https://invent.kde.org/frameworks/kimageformats/commit/350ce1b990460cb2178f369f22fe80803f5645f3 | Version Fixed In: | 5.100 |
Description
Firlaev-Hans
2022-10-07 10:37:34 UTC
Could you run perf top -p $(pidof plasmashell) -K to see what's hogging the CPU? (In reply to Fushan Wen from comment #1) > Could you run > > perf top -p $(pidof plasmashell) -K > > to see what's hogging the CPU? Unfortunately that command does not appear to work for me: >Error: >Failed to mmap with 22 (Invalid argument) Perhaps this is useful (this is the output without specifying the PID):
> 37.99% QSGRenderThread libc.so.6
> 24.36% plasmashell libQt5Core.so.5.15.6
> 8.28% plasmashell libglib-2.0.so.0.7400.0
> 5.96% plasmashell libQt5Gui.so.5.15.6
> 5.58% plasmashell libc.so.6
> 5.50% plasmashell libQt5Quick.so.5.15.6
> 3.88% plasmashell [vdso]
> 1.13% perf perf
> 0.66% plasmashell ld-linux-x86-64.so.2
> 0.53% plasmashell libQt5Widgets.so.5.15.6
> 0.49% swapper [unknown]
> 0.49% kwin_wayland radeonsi_dri.so
> 0.45% plasmashell kimg_avif.so
> 0.41% Isolated Web Co libxul.so
> 0.29% plasmashell libstdc++.so.6.0.30
> 0.27% perf libc.so.6
> 0.24% plasmashell libwayland-client.so.0.21.0
> 0.22% plasmashell breeze.so
> 0.22% plasmashell libQt5WaylandClient.so.5.15.6
> 0.18% plasmashell libKF5XmlGui.so.5.98.0
> 0.17% kwin_wayland libkwin.so.5.25.90
> 0.15% QSGRenderThread radeonsi_dri.so
> 0.15% kwin_wayland libc.so.6
> 0.14% kwin_wayland [unknown]
> 0.11% kwin_wayland libQt5Gui.so.5.15.6
> 0.10% plasmashell libQt5Qml.so.5.15.6
> 0.09% kwin_wayland libQt5Core.so.5.15.6
> 0.08% plasmashell libKirigamiPlugin.so
> 0.07% plasmashell libpulse-mainloop-glib.so.0.0.6
> 0.06% plasmashell libKF5PlasmaQuick.so.5.98.0
> 0.06% QSGRenderThread libQt5Quick.so.5.15.6
Thanks for the information I just upgraded my Arch system to the stable 5.26 release and this issue still persists. Okay, I did some investigation, this is the weirdest thing ever. It is apparently wallpaper related. Since, in Bug 460248, Patrick Silva said they couldn't reproduce this on a fresh account, I tried removing stuff from plasmashellrc and the plasma*appletsrc until the problem went away. I determined that resetting the wallpaper for my second monitor "fixed" the issue. The issue would only occur if my *second* monitor's wallpaper was an AVIF image (which it previously was). Using PNG or JPG, CPU usage was normal. Oddly enough, setting the same AVIF wallpaper on my primary monitor did not cause the issue. Half an hour later the two displays seemingly "switched roles", now only the first monitor would cause the issue when using an AVIF wallpaper on it, and the second one didn't. I'm not sure what caused that. In any case, as long as I'm not using AVIF wallpapers at all, I guess I'm safe(?) Two dead loops were fixed in 5.26.1, please test again then. Thanks in advance! Unfortunately I can confirm it's not fixed A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2221 A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kimageformats/-/merge_requests/112 A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kimageformats/-/merge_requests/113 Git commit 350ce1b990460cb2178f369f22fe80803f5645f3 by Fushan Wen. Committed on 15/10/2022 at 06:02. Pushed by fusionfuture into branch 'master'. avif: return `false` in `canRead()` when `imageIndex >= imageCount` Otherwise when `cache: false` is set in AnimatedImage, QMovie will try to read the image forever. FIXED-IN: 5.100 M +5 -0 src/imageformats/avif.cpp https://invent.kde.org/frameworks/kimageformats/commit/350ce1b990460cb2178f369f22fe80803f5645f3 Git commit 1190e53e9b69da6f9663ceb75c4813c5708b7cbd by Fushan Wen. Committed on 15/10/2022 at 06:11. Pushed by fusionfuture into branch 'master'. avif: always indicate endless loop avif does not support loops but endless loop was the behavior before 460085 was fixed, so a workaround is added. See also: https://github.com/AOMediaCodec/libavif/issues/347 M +2 -1 src/imageformats/avif.cpp https://invent.kde.org/frameworks/kimageformats/commit/1190e53e9b69da6f9663ceb75c4813c5708b7cbd |