http://bugs.winehq.org/show_bug.cgi?id=5526
------- Additional Comments From stefandoesinger@gmx.at 2006-10-07 11:10 ------- Created an attachment (id=2862) --> (http://bugs.winehq.org/attachment.cgi?id=2862&action=view) Proposed fix implementing async surface updates
This patch takes the old async surface update code into wined3d. The asynchronous surface updates move the front buffer->screen blits out of the main rendering path so they do not block the app. (Except if requested by the app via DD*_WAIT flags). This fixes the performance issues due to the mouse in C&C Tiberian sun and Age of Empires 2. Moving the mouse doesn't block the entire game now.
It doesn't fix the slowness due to GetDC(requires a GDI engine or gdi opengl driver) nor the real cause of the color conversion slowness(requires opengl rendering). But it moves the slow blitting out of the performance critical rendering path.
This patch needs more cleanup and regression testing before it can be commited to wine, I'm just posting it here for testing