Summary: | Intermittent shadow corruption on focus/unfocus windows | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Chris Dekter <cdekter> |
Component: | kdecorations | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | hugo.pereira.da.costa, hugo |
Priority: | NOR | Keywords: | triaged |
Version: | 4.8.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Screen capture
Screen capture with Show Paint |
Description
Chris Dekter
2012-02-28 00:20:50 UTC
Created attachment 69154 [details]
Screen capture
Created attachment 69155 [details]
Screen capture with Show Paint
Using the Show Paint plugin it is clear that the corruption is caused by not properly triggering redraw of the shadowed areas.
- XRender or OpenGL backend (kcmshell4 kwincompositing, 3rd tab) - list of enabled effect plugins? grep -iE 'kwin4_effect_.*Enabled=true' `kde4-config --path config | cut -d":" -f1`/kwinrc | sed -e 's/kwin4_effect_//g; s/Enabled=true//g' (it's a one liner in case bugzilla breaks the line) - is overlapping or the desktop invocation stringent necessity? - does the focus change interval have impact (ie "occurs only with fast swaps") Backend: OpenGL Enabled plugins: blur boxswitch coverswitch cube dashboard desktopgrid fade login logout minimizeanimation outline presentwindows screenshot startupfeedback taskbarthumbnail translucency zoom On further review, overlapping is not required, it just makes the problem more obvious. Desktop focusing is not needed - you can get the corruption simply by opening two non-overlapping window and using the mouse to switch back and forth between them. Interval of switching does not seem to have an impact. Not sure if relevant, but my window focus policy is set to click-to-focus. please try to disable blurring and translucency if it's not longer reproducible please try w/ only one or the other and share your observations I noticed no change in the problem behaviour with any combination of blur or translucency enabled or disabled. A bit more testing reveals that the problem disappears if I enable animations in the Oxygen window decoration. (I disable them normally because they cause a performance hit on Radeon open drivers). "A bit more testing reveals that the problem disappears if I enable animations in the Oxygen window decoration." @Hugo Any chance that the single repaint trigger only covers the smaller region? I suspect what is really happening is that with animations off the repaint of the window border/shadow area is now always triggering. When windows overlap, one of the two windows might trigger the repaint and then only part of the shadow of the second window is repainted. If windows don't overlap, no part of the second window border is repainted - you can actually end up with two windows with a 'focus-coloured' shadow. @Chris: I can reproduce the issue (with animations off) and the non-issue (with animations on). I checked the oxygen code. When animations are on, each "opacity" change in the transition triggers a full client->widget repaint. Hence no issue. When animations are off, there is no update/repaint triggered inside oxygen, since I assumed that kwin would do that for me. This is likely what is not working. The *titlebar* gets repainted, as well as the overlapping region between the two windows, but not the full windows (as it should). maybe there is too much "optimization" on the kwin side ? I tried to explicitely trigger update (client->widget()->update()) in Client::activeChange(), but this did not fix anything. Also tried "->repaint()" without success. Hugo For the record, this is "magically" fixed with new shadow system (using X11 Hints). cd kde-workspace git checkout hpereira/oxygen-shadows Now, this is not merge (yet) to master because there are other (minor) issues. Will send email to kwin devs. No magic involved. Was actually broken for OpenGL in < 4.7.3 but i fixed it ;-) (Changing the property triggers an update) So the status of this is... will be fixed in 4.9? Just curious... Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |