This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/101861/ |
On August 27th, 2011, 4:45 p.m., Philipp Knechtges wrote:
kwin/composite.cpp (Diff revision 1) Pixmap Toplevel::createWindowPixmap()712 QRegion damage(e->area.x, e->area.y, e->area.width, e->area.height);714 if (damageRatio == 1.0) // we know that we're completely damaged, no need to tell us again715 return;Sry for the late comment, but shouldnt we at least drop the damage events from the event queue.On August 27th, 2011, 9:34 p.m., Thomas Lübking wrote:
"Why"? afaik the queue is wiped with the next cycle anyway and testing didn't show any difference in the XPending() count whether i remove the damage events or not (Surprisingly the performance doesn't improve either - at least not significantly) Do you spot any leaks or other issues?On August 27th, 2011, 11:37 p.m., Philipp Knechtges wrote:
My concern was just of theoretical interest. I just wasn't aware that these events are wiped out at the end of the cycle and believed therefore that the damage events would be scheduled as unnecessary repaints in the next frame. But I'm still curious where exactly kwin tells the X Server to clean the event queue because we never call XSync(display(), true) directly?
Nowhere. I frankly thought Q/KApplication would. However *another* test (different debug code) simply blocked compositing completely w/o dropping the events, so a) good catch - thanks alot b) check http://commits.kde.org/kde-workspace/562cabc9e76c8af356a68e91147934e80ae4e78b c) I'm gonna inspect the Qt event management to know for sure ;-)
- Thomas
On July 5th, 2011, 10:32 p.m., Thomas Lübking wrote:
Review request for kwin.
By Thomas Lübking.
Updated July 5, 2011, 10:32 p.m. Description
Testing
Diffs
|