Profiling CS:GO

Stefan Dösinger stefandoesinger at gmail.com
Wed Feb 5 03:24:23 CST 2014


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 at gmail.com>:

>
>
>
> On Mon, Feb 3, 2014 at 10:46 PM, Stefan Dösinger <
> stefandoesinger at 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=0AmPNQYtpuejodDVQc2ctc084cjVISE5NVUd2ZC03MVE&usp=sharing
>
> 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.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20140205/8129f5b7/attachment.html>


More information about the wine-devel mailing list