[Wine] Purpose of DIB Engine?

James Huk huk256 at gmail.com
Mon Jun 8 01:19:23 CDT 2009


2009/6/7 Thunderbird <wineforum-user at winehq.org>

> 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..
>
> Roderick
>
>
>
>
>
> I see, I was wrong then... I always thought DIB's main goal was to speed up
all DirectDraw apps, so they would run with nearly the same speed as when
“good” old DGA was still in use...

Thanks for the answer.

P.S

Do you guys think it is possible to rewrite DirectDraw code somehow, so it
would run with speed comparable to DirectDraw in Windows, without using
opengl?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-users/attachments/20090608/a140d3db/attachment.htm>


More information about the wine-users mailing list