Wine integration with native (Gtk, Qt, Cocoa/Carbon) themes

Reece Dunn msclrhd at googlemail.com
Sat Nov 15 10:37:53 CST 2008


2008/11/15 Dan Kegel <dank at kegel.com>:
> On Sun, Nov 2, 2008 at 10:58 PM, Reece Dunn <msclrhd at googlemail.com> wrote:
>> .. the first step for Wine is making the
>> uxtheme/msstyles support work well so that it can be used by
>> distributions to theme Wine.
>
> BTW, has anybody noticed a speed problem with our
> theme support?

Yes.

If you use some themes (e.g. the Zune theme from Microsoft) then the
performance is ok. If you try other themes (e.g. the Gem theme from
the StyleXP program) then it renders very slowly - the performance
killer in the Gem theme is rendering the parent background for
property sheets (e.g. winecfg). This can clearly be seen in winecfg
when switching themes.

I believe there were discussions about this earlier that tracked it
down to theme parts having alpha channels in their bitmaps.

It may also be that as several of the theming APIs are using double
buffering. Vista has some APIs that help out with double buffered
drawing (http://blogs.msdn.com/e7/ has a nice video (requires
Silverlight) from the latest PDC -
http://channel9.msdn.com/pdc2008/PC43/ - that covers them in some
detail). These may help improve performance.

In addition, the DIB engine is likely to prove invaluable here, as
there will be a lot of drawing and blitting, which will certainly be
killing performance at the moment with the X server round trip.

Do you know if the DIB engine is advanced enough to test this? Theming
would make an interesting test case.

- Reece



More information about the wine-devel mailing list