Wine's Direct3D CSMT Support Isn't Yet Complete
For those excited by yesterday's Wine 2.6 release with D3D CSMT as the long-awaited command-stream multi-threading to boost game performance, don't get your hopes too high with this release.
While the initial D3D CSMT support is in mainline Wine, it isn't yet the full implementation already developed by Stefan Dösinger, the former CodeWeavers developer who authored the original patches a few years back.
The Austrian programmer commented in our forums, "Note that there are still some parts missing compared to my old code. In particular, resource maps are still synchronous, so most games won't see a performance gain yet. It's coming, please be patient :-). The existing code is likely to help with games that needed StrictDrawOrdering=enabled already."
The StrictDrawOrdering register key is about ensuring that pending draw operations are submitted to the driver, but causes a dip in performance when enabled. Though I have yet to find an exhaustive list of games needing strict draw ordering enabled, but it appears to be a small number. When the rest of the code lands, it may be interesting for benchmarking if there are a number of automated test cases available.
Hopefully this D3D CSMT support will get all ironed out in time for the Wine 3.0 release expected at the end of 2017 or early 2018.
While the initial D3D CSMT support is in mainline Wine, it isn't yet the full implementation already developed by Stefan Dösinger, the former CodeWeavers developer who authored the original patches a few years back.
The Austrian programmer commented in our forums, "Note that there are still some parts missing compared to my old code. In particular, resource maps are still synchronous, so most games won't see a performance gain yet. It's coming, please be patient :-). The existing code is likely to help with games that needed StrictDrawOrdering=enabled already."
The StrictDrawOrdering register key is about ensuring that pending draw operations are submitted to the driver, but causes a dip in performance when enabled. Though I have yet to find an exhaustive list of games needing strict draw ordering enabled, but it appears to be a small number. When the rest of the code lands, it may be interesting for benchmarking if there are a number of automated test cases available.
Hopefully this D3D CSMT support will get all ironed out in time for the Wine 3.0 release expected at the end of 2017 or early 2018.
9 Comments