http://bugs.winehq.org/show_bug.cgi?id=15232
--- Comment #9 from Henri Verbeet hverbeet@gmail.com 2010-04-06 11:07:58 --- I don't know if there are issues with the basic approach of using a clipmask, but I can't think of any. As for the specific implementation, it forces gl_copy for cases where it isn't needed, and recalculates the clipmask on every SwapBuffers() call. Both aren't going to help performance. The gl_copy path should be limited to the cases where there are actual child windows to clip by, and updating the clip mask should only happen when those child windows are created / destroyed / moved / etc.