[Bug 32010] Guild Wars 2 updater uses always 100% of a CPU core

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 14 12:42:08 CST 2016


https://bugs.winehq.org/show_bug.cgi?id=32010

--- Comment #10 from Patrick Rudolph <patrick1804 at web.de> ---
After further investigations:
UpdateLayeredWindow uses software fallback to blend a layered window using
blend_rect_8888 function. That causes high load in the launcher process.
It would be nice to let X do the blending instead.

After blending the result is put into a pixmap and flushed to X11 using
x11drv_surface_flush.

x11drv_surface_flush calls update_surface_region which causes high load, too.
It iterates over the whole surface to find the shape borders.

After that X11DRV_GetRegionData and XShapeCombineRectangles is called.
It looks like this causes glamor/X11 to do a flush and stall until GPU finishes
rendering. It then locks the framebuffer to read back and combine the pixmaps.
This causes high load in X and the kernel as it does busy waiting.

By commenting the XShapeCombineRectangles code in x11drv_surface_flush, the
load is reduced and X11 runs smooth. The mouse is also visible.

Not sure if this a X11 bug or wine bug.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list