https://bugs.kde.org/show_bug.cgi?id=510886
Seb Burrell <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #13 from Seb Burrell <[email protected]> --- Created attachment 197014 --> https://bugs.kde.org/attachment.cgi?id=197014&action=edit 510886-plasmashell-syncWindow-popup Seeing this with much larger delays than 150 ms on a desktop that has more popup content. Setup: Fedora 44, Plasma 6.7.5, KF 6.30.0, Qt 6.11.2, Wayland, NVIDIA RTX 3080 Ti, driver 615.71.09. Plasma style is Layan, which ships its own `colors` file (it doesn't follow the colour scheme). I ran a monitor that probes plasmashell's main thread every second and takes an eu-stack when a probe takes more than 250-500 ms. Over about 24 hours, the most common plasmashell stall when opening a panel popup (system tray, launcher) had the main thread in KirigamiPlasmaStyle: - PlasmaTheme::syncWindow(): QSGGuiThreadRenderLoop::renderWindow -> ensureRhi -> (signal) -> PlasmaTheme::syncWindow -> QObject::disconnectImpl / connectImpl, triggered by the popup's expose. Stalls were 1.8 s, and 25 s once, while a widget was being removed. Two samples 0.6 s apart were both inside connect/disconnect, so it is CPU-bound and not waiting on anything. - PlasmaTheme::syncColors(): QQuickItem::windowChanged -> PlasmaTheme::syncColors -> PlatformTheme::setHoverColor -> emitSignalsForChanges. 1.0-1.1 s while items were attached to a popup window. Major page faults during these stalls were negligible, so this isn't swap or paging. The same per-delegate cost also multiplies other events. When the digital clock's calendar resets its DaysModel (see bug 524947), every rebuilt delegate goes through PlasmaTheme::PlasmaTheme -> syncWindow, and plasmashell stays frozen for at least 25 s per burst. Attached: main-thread stacks for a syncWindow popup stall and a syncColors popup stall. -- You are receiving this mail because: You are watching all bug changes.
