[Wine] Re: Purpose of DIB Engine?
wineforum-user at winehq.org
Sun Jun 7 04:31:22 CDT 2009
The purpose of the DIB engine is to accelerate as it says DIB drawing ('bitmap drawing'). This operation occurs frequently and right now we let X do this stuff which means we ask X to draw to the bitmap (this might even require a depth conversion operation), then X performs its magic and then we copy the result back from X and give the result back to the program. This can be very slow.
The reason the DIB engine can help a bit for games is because in DirectDraw we use DIBs (unless DirectDrawRenderer is set to opengl). A proper and optimized DIB engine could make our software rendered DirectDraw faster. Though there are lots of other optimizations which can be performed to make it faster. For best performance DirectDrawRenderer should be set to opengl to get hardware acceleration but the optimizations I referred to should also be added for opengl. There is a lot more performance to unlock.
The main use of the DIB engine for DirectDraw (even when combined with opengl) is that some games like Age of Empires use 'win32 gdi' for drawing text to the screen. When they do this we have to convert the game image back to a DIB and then let gdi (and behind the back X render to the bitmap) which is slow..
More information about the wine-users