http://bugs.winehq.org/show_bug.cgi?id=15549
--- Comment #3 from Robert Wm Ruedisueli esd45@earthlink.net 2008-10-08 04:28:09 --- (In reply to comment #2)
It's not clear what you mean by "backpaging", drawing "pages", and "architectural difference". Painting in Wine is implemented internally, and is triggered by repainting requests of applications and X expose events.
yeah, back-paging is an old X11 extension term, I probably shouldn't be using it. I should use a more descriptive. In fact I shouldn't even look at this from a X11 server-side perspective, even if that's where I think the problem is.
The best way to describe this is that there is a difference in behavior between X11 and Windows. Windows MANDATES that video drivers store the content of windows that are behind other windows remain in video memory, through a complex method.
X11 implements this through an extension called "back paging" which it copies a replica or "back page" of each window in an off screen buffer page, in the video memory or memory allocated for quick transfer to the video card, in order to restore if the program takes too long to do so itself, when called. I mentioned these memory pages above as pages.
Now an easy solution is best to render all wine windows using off screen extensions than copy them to the screen. This consumes a little more memory, but actually saves processor time in redraws and properly replicates Win32 default behavior.
Sorry about taking the hardware-driver perspective without notice on a bug report that was in software phrasing.