This forum has been archived. All content is frozen. Please use KDE Discuss instead.

KWin repaints the whole screen - bug or necessity?

Tags: None
(comma "," separated)
KyleB
Registered Member
Posts
5
Karma
0
OS
Hi,

Not sure whether it should be considered a bug, some kind of possible optimization or if it's something that can't be changed. This is mainly for developers.

This is a two-parter: first, when using desktop effects, I have noticed that most effects were very fast when there's no window open and they get gradually slower as more windows exist. This is kind of expected, except that it's weird because when all those windows are maximized, you'd think that windows that are not actually visible would be optimized away or something. I have activated the Show FPS effect, and here's how performance degrades. While using Magic Lamp or Wobbly Windows on my desktop (all windows are minimized) I get a steady 30fps. So steady in fact that I suspect it to be hardcoded or something. Now if I maximize a window and do the same, I get exactly 20fps. I maximize another window, drops to 15fps. A third window: 12-13 fps. So the first window makes me lose 10fps, second 5fps, third 2.5fps.

After running that experiment, I have activated the Show Paint effect and I have found that moving/minimizing windows with Wobbly Windows/Magic Lamp would cause the whole screen to be repainted. Is that expected? I would have thought that only the areas effected by the moving object would get repainted, but I have no expertise in that domain so it's really just an hopeful guess.

To summarize:
  1. windows that are not visible because they are covered by another opaque window still cost some performance
  2. some effects like Magic Lamp and Wobbly Windows cause the whole screen to be repainted no matter the size of the moving object

Are those bugs, something that would hopefully get optimized down the road or something that can't be optimized at all?
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
The first one cannot be answered without knowing your KDE version and your window decoration.

The second one: yes that is expected and required to remove artifacts. It's cheaper to just do a full repaint than calculating the exact areas where the window was in the last painting pass.
KyleB
Registered Member
Posts
5
Karma
0
OS
I'm on KDE SC 4.4.5 using mostly default settings (so I'm using Air) except for decoration animations which I have disabled. Thx for any info.
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
ok, so it cannot be the blur plugin :-)

The show paint effect shows a repaint for whenever a window is changed - no matter if it is the topmost or not. The painting on the other hand will optimize if an opaque window is on top. So show paint does not show exactly the correct information.

The fps plugin mostly shows incorrect information. It is a developer tool and you have to know what it does and how it works to read correct information from it. It in general shows incorrect information depending on the effects which are used.


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]