[Wine] Squeezing every last drop of performance out of DirectX

Brandon Mayes eff4eye at hotmail.com
Sun Apr 26 22:35:40 CDT 2009

> Im running TF2 with 100-200 fps on DX Level 81, Directx9+ games are still pretty choppy on wine and so TF2 plays much slower on dxlevel 95,
> I suggest enabling multi-threading in TF2, if you have dual-core or quad core

You *MUST* tell me what sort of configuration you are using!  I have found the following have seemed to have greatly helped me:

1) Setting the heapsize and dxlevel options

2) Disabling compiz for metacity (many thanks for the fusion-icon tip -- it makes it super easy to switch between the two!)

3) Setting up some of the Direct3D registry keys.  Right now it looks like this:

DirectDrawRender = opengl
OffScreenRenderingMode = fbo
PixelShaderMode = enabled
VertexShaderMode = hardware
VideoMemorySize = 1024
VideoPciDeviceID = 0x0611
VideoPciVendorID = 0x10de

I'm not sure how much prefixing my commands with "WINEDEBUG=-all" really helps but I'm using it anyway.  Also, I have previously run this with the 173 and 176 nVidia drivers.  I don't notice any significant improvements with the 180 drivers so I'm not convinced that compiling the latest minor release is going to improve things much either.  I'll just stick with the binary drivers.

I do indeed have a dual core CPU, so I tried setting the multi-threaded option in TF2 (I don't know why I have never noticed this before!).  It defaulted to disabled, but I went ahead and enabled it anyway.  Unfortunately it seemed to make it choppy.  Every second or two the FPS went from 100+ to 50 or so, and while 50+ is a good rate, there was a bit of stuttering when it switched from one rate to the other.  So it seems better with this option disabled.

I also tried using the following options but they didn't seem to improve things much:


Determines whether the particle system is multi-threaded. This should be set to 1 on systems with multi-core CPUs.


Determines whether part of the rendering system is multi-threaded. This
can be set to 1 on systems with multi-core CPUs to potentially improve

Also, even when using the multi-threaded option I still seemed to get the period drop to single digit frame rates.  I am still getting that and my only other option at this point is to try backing up the existing d3d8.dll and d3d9.dll, replacing them with ones from my XP partition, and setting the libraries to native.  I haven't heard anyone say this will or will not help yet, but I'm willing to try it and see since it's really not much effort.

With all of the above tweaks so far I am hitting 100+ framerates now on certain areas (like Warpath2_U4 I was getting these rates coming out of spawn walking toward the middle of the map) but it seems like I still get 20-30 FPS in high-intensity areas (which might also have more textures) such as the middle bridge on Warpath.  The periodic drops seems to only drop to about 10-12 FPS but it still becomes laggy and I generally die when it happens (of course it's right as I come around the wall and run into an enemy -- it never seems to happen when I have just entered respawn again)...

If anyone has any further suggestions I'm open to them, but I'm starting to think this is as good as it gets.  :(

Windows Live™ SkyDrive™: Get 25 GB of free online storage.  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-users/attachments/20090426/484fb8f3/attachment.htm>

More information about the wine-users mailing list