In the past months I have been working on a command stream / worker thread for wined3d. It moves most OpenGL calls into a separate thread to improve performance (bug 11674) and fix some bugs that are otherwise hard to fix (24684).
Thank you, Stefan!
I applied your patches to the Ubuntu PPA that I maintain for Guild Wars 2 players:
https://launchpad.net/~foresto/+archive/winepatched/
I'm not seeing a spectacular difference with the CSMT patches, but I am seeing a difference.
I ran some quick tests in Guild Wars 2 while standing still outside the Lion's Arch bank, looking down at the forge with a moderate number of players milling about and fireworks being launched. Pierre Franco said (earlier in this discussion) that he gets better results when running with the -dx9single command line switch, so I tested with and without it. Note that I play with the WINEDEBUG=-all environment variable. Here are my results:
CSMT="disabled", running with -dx9single: 15-16 fps CSMT="enabled" running without -dx9single: 19-21 fps CSMT="enabled", running with -dx9single: 22-23 fps
So, almost 50% improvement for me, which is not what I remember when running natively under Windows, but is still a very welcome improvement.
I wonder if the 80%+ gains reported in other games are not to be seen in Guild Wars 2, or if they're heavily dependent on CPU, GPU, graphics driver, and screen resolution.
For the record, I'm using an Intel i5-3570K (stock speeds), GeForce GTX 660Ti (factory overclocked), nVidia driver 313.30, and a 1920x1200 display. I'm running Xubuntu 64-bit. My in-game options are:
Resolution: Full Screen - 1920x1200 Refresh Rate: Default Frame Limiter: Unlimited Interface Size: Normal Animation: High Anti-Aliasing: FXAA Environment: High LOD Distance: High Reflections: Terrain & Sky Textures: Medium Render Sampling: Native Shadows: Medium Shaders: Medium Post-Processing: High Character Model Limit: High Character Model Quality: High + Best Texture Filtering + Depth Blur + Effect LOD + High-Res Character Textures - Vertical Sync
On 15 September 2013 21:47, Forest winehq@tibit.com wrote:
I wonder if the 80%+ gains reported in other games are not to be seen in Guild Wars 2, or if they're heavily dependent on CPU, GPU, graphics driver, and screen resolution.
For the record, I'm using an Intel i5-3570K (stock speeds), GeForce GTX 660Ti (factory overclocked), nVidia driver 313.30, and a 1920x1200 display. I'm running Xubuntu 64-bit. My in-game options are:
Resolution: Full Screen - 1920x1200 Refresh Rate: Default Frame Limiter: Unlimited Interface Size: Normal Animation: High Anti-Aliasing: FXAA Environment: High LOD Distance: High Reflections: Terrain & Sky Textures: Medium Render Sampling: Native Shadows: Medium Shaders: Medium Post-Processing: High Character Model Limit: High Character Model Quality: High
- Best Texture Filtering
- Depth Blur
- Effect LOD
- High-Res Character Textures
- Vertical Sync
In general, this patchset helps more for mostly CPU limited applications than for mostly GPU limited applications. That roughly means that in general you'll see a larger difference on lower resolutions or with less demanding applications / graphics settings, and that you'll see a larger difference in cases where the GPU is relatively fast compared to the CPU. In applications that are mostly GPU limited, performance tends to depend mostly on the quality of the GL driver's GLSL compiler, or lack thereof.
In general, this patchset helps more for mostly CPU limited applications than for mostly GPU limited applications. That roughly means that in general you'll see a larger difference on lower resolutions or with less demanding applications / graphics settings, and that you'll see a larger difference in cases where the GPU is relatively fast compared to the CPU. In applications that are mostly GPU limited, performance tends to depend mostly on the quality of the GL driver's GLSL compiler, or lack thereof.
Understood. Guild Wars 2 is widely acknowledged to be CPU-bound, and generally gets awful frame rates when running on wine/linux compared to the same hardware on windows. I look forward to seeing results from more GW2 players using these patches.
For anyone interested, a few players have begun to post their results in the AppDB comments: http://appdb.winehq.org/objectManager.php?sClass=version&iId=26558#Comme...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2013-09-15 21:47, schrieb Forest:
In the past months I have been working on a command stream / worker thread for wined3d. It moves most OpenGL calls into a separate thread to improve performance (bug 11674) and fix some bugs that are otherwise hard to fix (24684).
Thank you, Stefan!
I applied your patches to the Ubuntu PPA that I maintain for Guild Wars 2 players:
You are fairly lucky with Guild Wars 2. I didn't see any improvement in this game myself. But as Henri said, it depends a lot on the game and your GPU and CPU.
Afair GW2 uses dynamic surfaces, so the patchset doesn't achieve its full potential yet. Even if it does, it removes fixes one potential performance issue. It doesn't magically fix everything.
Stefan, are these patches already present in the wine 1.7.2 release? Now that the official 1.7.2 Ubuntu packages have been published, I'm trying to figure out how to get your CSMT changes into the PPA that I maintain.