[Fwd: Re: GDI question]

Mike Hearn m.hearn at signal.qinetiq.com
Tue Feb 25 04:13:37 CST 2003


-----Forwarded Message-----

From: James Chaldecott <james at swythan.co.uk>
To: m.hearn at signal.dra.hmg.gb
Subject: Re: GDI question
Date: 25 Feb 2003 09:32:48 +0000

Mike,

I'm a Win32 developer, and I take a look at WineHQ every so often and I
noticed this thread. I don't know what Wine performance is like, but I
thought you might be interested to know that some Windows graphics drivers
(particularly Nvidia) are also very slow doing off-screen BitBlt operations
under some circumstances.

BitBlt'ing between two memory DC's seems to get very slow if the
"acceleration level" is set to "Full" (the default) in the driver. I'm
guessing they are, in fact, trying to overoptimize and they assume that at
least one of the DC's is a real device (i.e. already in video memory),
although I don't really know. We have the problem with our software and
found the easy way to overcome it was to drop the driver acceleration factor
a notch! I also spotted a bug in Mozilla's Bugzilla DB, and did some
profiling for them.

http://bugzilla.mozilla.org/show_bug.cgi?id=170272

Anyway, I thought you might be interested. I suppose it means that lots of
the BitBlt's being done *are* being accelerated by the hardware, and this is
a corner case were performance degrades.

James Chaldecott

P.S. Feel free to post this to the list if it's interesting, but I don't
subscribe, ATM.

>Well, I just tried a simple comparison of the Adobe SVG plugin under
>Wine and IE6 on Windows XP. Wine _is_ slower by a visible amount when
>doing repeated bitblts such as the plugin does on an animation I have,
>but it's certainly not something that'd actually affect real world
>usage. I don't think GDI performance is really an issue at present, most
>apps don't do these kind of repeated double-buffer switches (i assume
>flash doesn't actually use the gdi to render into its backbuffer?) so it
>only affects apps like photoshop and director/flash.
>
>In particular when I run the SVG plugin, I can see a FIXME talking about
>a potential optimization, so really the issue is just a case of elbow
>grease for optimizations (esp in bitblt) rather than a rewrite I'd guess.
>


-- 
Mike Hearn <m.hearn at signal.qinetiq.com>
QinetiQ - Malvern Technology Center




More information about the wine-devel mailing list