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

Dan Kegel dank at kegel.com
Wed Jan 14 16:48:43 CST 2009


On Sat, Nov 15, 2008 at 8:37 AM, Reece Dunn <msclrhd at googlemail.com> wrote:
> 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.

FWIW, http://www.ubuntuproductivity.com/journal/software/01/2009/theme-wine-integrate-with-ubuntu-human/
is a report of a happy user, so I guess the Human theme is ok.
Maybe the Ubuntu package should come with that theme applied,
or at least included and easy to turn on.

> 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.

Give it a try - somebody posted patches for his own mashup of the DIB
engine recently...
- Dan



More information about the wine-devel mailing list