Profiling CS:GO

Brock York twunknown at gmail.com
Tue Feb 4 10:23:23 CST 2014


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/61a34d03/attachment.html>


More information about the wine-devel mailing list