Quick reply from my phone: wglShareLists on Windows had to be called with neither context being current. I once hacked a workaround together that created 20 extra contexts in advance with the primary one before making the first context current in one thread Am 04.02.2014 17:23 schrieb "Brock York" twunknown@gmail.com:
On Mon, Feb 3, 2014 at 10:46 PM, Stefan Dösinger < stefandoesinger@gmail.com> wrote:
Hey list
I'm trying to find out why CS:GO is slower under wine then windows. When running a benchmark in CS:GO Win8 gets ~134fps and wine ~51fps.
Overall 50% performance is about what you get on average on dual core
machines, depending on the game and driver. The Nvidia binary Linux >driver gives you roughly 60%, the open source radeon driver approaches 30%-40%. This depends a lot on the game as well.
Did you have a look at my command stream patches? They address a major
shortcoming in wined3d - it adds the ability to move major parts >of the CPU side work (The OpenGL calls) into a different thread. Windows had this since many years, and my (not yet upstream) work adds >it to Wine. I recommend to search the Wine-devel archives, I’ve written a lengthy mail about it somewhen in January. The single-threaded >nature of WineD3D is most likely where your 50% CPU usage (Dual Core?) comes from.
I hadn't heard of your command stream patches so I found the emails you were talking about, cloned your repository and tested it today. It does help but I haven't got any solid numbers yet. But this is what i've got so far: https://docs.google.com/spreadsheet/ccc?key=0AmPNQYtpuejodDVQc2ctc084cjVISE5...
I should have mentioned that I'm running this on a quad core (Intel Core 2 Quad Q6600) and was getting 50% accross all four cores compared to windows 65-75% accross the four cores. The interesting thing being that so far in my single test. WineD3d with multicore disabled is faster then windows with WineD3d multicore disabled.
I've been following Stefan Dösingers guide (
http://wiki.winehq.org/Performance) and have
compiled wined3d for windows and tryed running CS:GO using wined3d
under win8 but it just crashes while loading the map. At a guess I'd >>say once it trys to do 3D rendering.
Did you define USE_WIN32_OPENGL? It is needed to adjust the calling
convention to Win32’s WINAPI convention. I think it is explained in >the Wiki article, but I cannot check at the moment because I am drafting this mail in an airplane.
I followed this guide (http://wiki.winehq.org/WineD3DOnWindows) so I did
use USE_WIN32_OPENGL. I found out what the problem was. I was able to use WineD3D with Counter-Strike source but not CS:GO on windows. Turns out if the multicore option is enabled so it uses more then one thread then CS:GO and CS:S will crash when using WineD3D under windows.
I also compiled WineD3d with your command stream patches and ran them under windows once I figured out it was the multicore option causing the crashes.
Which now I have no idea how to debug why it crashes when it is using multiple threads.
Thanks for your time and your reply. Regards Brock YOrk.