Solution

This is a bug in KDE Plasma [1.1][2]. It appears that it might be fixed in KDE Plasma v6.2 [1.2][3].

Original Post

I have noticed this behavior with Element and Signal while playing Deadlock. The game will have a pretty severe stutter, ie the frame-rate will substantially dip, for half a second or so at the exact moment that a message is received. It seems to happen with every message. Do note that these are only messages that would result in a system notification. All other messages that are silent, ie they have no pop-up notification, do not result in any stutter.

  • OS: Arch Linux, Kernel: v6.6.49-1-lts
  • DE: KDE Plasma v6.1.4
  • WM: Wayland
  • CPU: Intel Core i5-4690k
  • GPU: AMD Radeon RX 6600

Updates

  • I have tried disabling this setting in Deadlock:
  • I have tried windowed-borderless
  • I have noticed that the moment that the stutter occurs, my CPU spikes maybe 20% and my GPU drops to 0%.
References
  1. @narc0tic_bird@lemm.ee. “Have you ever experienced stuttering in a game if you receive a message in a desktop messaging app during gameplay?”. sh.itjust.works. Lemmy. Published: 2024-09-09T23:12:24Z. Accessed: 2024-09-10T00:03Z. https://sh.itjust.works/comment/13818926. https://lemm.ee/comment/14674507.
    1. it’s a bug in KDE Plasma

    2. [the bug] might be fixed [in KDE Plasma] 6.2

  2. “Bug 487780: Fullscreen game stutter when Plasma receives notifications.”. Robert. bugs.kde.org. Published: 2024-05-30T03:58Z. Accessed: 2024-09-10T00:06Z. https://bugs.kde.org/show_bug.cgi?id=487780.
  3. Zamundaaa. “Bug 487780: Fullscreen game stutter when Plasma receives notifications.”. bugs.kde.org. Published: 2024-08-19T12:01:08Z. Accessed: 2024-09-10T00:13Z. https://bugs.kde.org/show_bug.cgi?id=487780#c13.

    There are some remaining code paths that can block direct scanout - namely effects that haven’t been fixed, or that may need to block direct scanout in some situations. There’s a new API in 6.2 that effects can use though, https://invent.kde.org/plasma/kwin/-/merge_requests/6203, which blocks direct scanout only when really necessary. It’s implemented for all built in effects, and external javascript effects automatically make use of this API too.

  • Kalcifer@sh.itjust.worksOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    Thank you for the information! Perhaps that’s what this setting is:

    I will disable it and report back.