Massimo Del Fedele
max at veneto.com
Thu Nov 13 05:23:29 CST 2008
Roderick Colenbrander ha scritto:
> Under the hood Windows uses Eng* functions in the win2k/winxp driver model (perhaps even Vista, don't know).
> It is a different architecture than what Wine uses we are close to a win3.1 design.
> The use of the real win32 functions would offer the possibility of using native printer drivers again
> (not sure if this is something we really want).
> Doing stuff the microsoft way might have advantages for properly integrating ddraw and other things.
> On the other hand it could be a lot of work to get right.
I'm afraid too... I think we've got do decide if do it on the quick side
or on the "right" side. IMHO I'd choose the first one for the moment....
> Here's my view on DirectDraw / D3D and the DIB engine.
> There are two cases. First of all you have plain 'software rendering' in which we do 2d ddraw using GDI
> and DIB. The use of a DIB engine would save us some roundtrips to X and make color conversion more
> efficient. Depending on the situation it could boost performance quite a bit.
That's what I'd like to solve first, but it's maybe too deeply tied to
the other stuffs... still don't know.
I've seen that in Autocad all rendering (in 2d mode) is done by autocad
itself, besides TTF fonts. When there are TTF fonts inside drawing, the
most time is spent in dib_coerce stuff, so translating DIB to X11 and
back, in order to use X11 font rendering engine. The speed difference
between TTF and non-TTF is something like 100:1 or worse.
Switching to 3d mode, the font rendering is done (ugly) by autocad
itself, so the things speeds up a lot (but some half speed than in 2d
mode, indeed). Fonts are just outlined, line styles are not applied,
etc, so it's not a viable workaround.
What I'd like to know... It would make sense (I mean, could it enter
wine repo) to extend Huw Davies/Jesse Allen's approach of implementing
the engine ? I'd like to try it, but I'd not like to spend some
weeks/months coding using the wrong approach :-)
Also I'd like to see in wine a partial DIB engine, as I explained at
post starting. Would it be possible, or shall I stop it by now ?
More information about the wine-devel