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

Zamundaaa <xaver.h...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/8424bf88b6
                   |                            |7800c3d22384022e60c08d26e50
                   |                            |ea4

--- Comment #4 from Zamundaaa <xaver.h...@kde.org> ---
Git commit 8424bf88b67800c3d22384022e60c08d26e50ea4 by Xaver Hugl.
Committed on 03/06/2025 at 11:10.
Pushed by zamundaaa into branch 'master'.

scene/item: restrict frame callbacks based on the output rather than geometry

Sending frame callbacks based on whether or not the bounding rect intersects
with the
rendered output has two big problems:
- when a window is entirely off-screen, it never gets frame callbacks. This is
particularly
  problematic when the application waits for frame callbacks to render the next
frame, but
  KWin waits with moving them to an output until the application commits the
surface
- when a window is on two outputs at once (like with cloning), then it gets
twice the
  amount of frame callbacks - which means the application ends up rendering
twice as
  fast, which doesn't make any sense

This commit replaces that approach with just checking if the output is the same
as the one
Workspace picks for the center of the window. If the window is entirely
off-screen, that
will still result in an output getting chosen, and it also can't be on two
outputs at once.
Related: bug 479694, bug 498628

M  +2    -1    src/scene/item.cpp
M  +2    -3    src/scene/item.h
M  +9    -0    src/scene/rootitem.cpp
M  +2    -0    src/scene/rootitem.h

https://invent.kde.org/plasma/kwin/-/commit/8424bf88b67800c3d22384022e60c08d26e50ea4

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

Reply via email to