[Wine] Wine 3D performance - where does the bottleneck lies and how much optimized wine is?

James Huk huk256 at gmail.com
Sat Feb 6 18:31:11 CST 2010


Hello everyone.

I was wondering, why most D3D games works much slower on wine then on
Windows? Ok now, I understand that some D3D functions needs clever
workarounds to work on OpenGL and I'm not complaining, I just want to
know how much more optimize do you think wine will become? I'm asking
all this because I'm thinking of something like this:

I have game X, this game use D3D8/9 and is working perfectly but slow,
since it use D3D8/9 I can test WineD3D on Windows - and I can tell
there is no difference there, so the slowness is only related to
WineD3D, not the wine core. Now I would like to optimize the part of
wine this particular game use. I was thinking to do the following:

1.Find out all D3D functions that this game use - shouldn't be too
hard with WINEDEBUG=+all or WINEDEBUG=+d3d (I think).
2.Write simple programs to test speed of those functions on native D3D
on Windows, and on WineD3D.
3.Then try to write code to make each function faster (jest I know,
this sound so "easy" when I say it here, and is pretty damn hard in
the real world)

Now the problem is... if the wine code is already optimized to the
limit of the high-level programming language, then there is no point,
unless I would learn x86 Assembler - and use it to optimize outside
the compiler - but this is not gonna happen anytime soon :( . But if
the code is written with stability in mind rather then performance,
then maybe I can do something to speed it up - even if only for a
single game.

So do you think there is a point in trying something like this?

Thanks in advance and sorry for my English.



More information about the wine-users mailing list