D26914: [x11] Fix visual artifacts during interactive resize

Vlad Zahorodnii noreply at phabricator.kde.org
Sat Jan 25 12:24:55 GMT 2020


zzag created this revision.
zzag added a reviewer: KWin.
Herald added a project: KWin.
Herald added a subscriber: kwin.
zzag requested review of this revision.

REVISION SUMMARY
  When a window is being interactively resized, its contents may jump. The
  reason why that happens is because KWin renders partially resized client
  window. Composite extension spec says that a window will get a new pixmap
  each time it is resized or mapped. This applies to the frame window, but
  not to the client window itself. If the client window is resized,
  off-screen storage for the frame window won't be reallocated. Therefore,
  KWin may render partially resized client window if the client doesn't
  attempt to be in sync with our rendering loop. Currently, the only way
  to do that is to use extended frame counters, which are not supported by
  KWin.
  
  So, in order to fix visual artifacts during interactive resize, we need
  somehow to forcefully re-allocate off-screen storage for the frame window.
  Unfortunately, Composite extension doesn't provide any request to do
  that, so the only option we have is to resize the frame window.
  
  BUG: 415839

REPOSITORY
  R108 KWin

BRANCH
  reference-offscreen-storage-after-alarm-notify

REVISION DETAIL
  https://phabricator.kde.org/D26914

AFFECTED FILES
  scene.cpp
  scene.h
  toplevel.cpp
  x11client.cpp
  x11client.h

To: zzag, #kwin
Cc: kwin, Orage, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20200125/ee9d40b4/attachment.html>


More information about the kwin mailing list