ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
787 stars 69 forks source link

[linux] csgo client performance degradation #710

Closed DeliveryService closed 8 years ago

DeliveryService commented 8 years ago

Probs after the update[1]

  1. FPS drops when facing enemies [2] + many github reports
  2. Excessive I/O (stats from iotop) [2]
  3. steam overlay does not work
  4. in game menus are lagging
  5. Cannot "play offline with bots"

Questions;

  1. Why in the csgo.sh the csgo starts with the debugger? I tried to disable it (execute the app without the debugger but to no avail).

Proposal Until these problems are ironed out, please revert to the previous version of the client.

Trivia I have bank holiday and instead of playing csgo, I am filling bug reports ffs.

Refs

  1. http://blog.counter-strike.net/index.php/2016/05/14479/
  2. http://steamcommunity.com/app/730/discussions/0/364042703857450839/
ericek111 commented 8 years ago

heh, exactly. 2 weeks of holiday and I can't play CS:GO, because Volvo fucked everything up.

zomble commented 8 years ago

I am facing the same issues now.

ghost commented 8 years ago

I can confirm the FPS drops. Haven't checked io, steam overlay works fine. Menus are lagging when switching ingame from my desktop.

My setup: Arch Linux (Kernel 4.5.4-1) Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz NVIDIA GeForce GTX 960 Driver Version: 361.28 extra/plasma-desktop 5.6.4-1 2 FHD displays

Hope that helps.

Side note: I'm really happy it works native on Linux and I think it's a great step to update to 64 bit. Give them some time. I don't think it will take 2 weeks to fix the issues.

jd commented 8 years ago

I can confirm the I/O too. Not sure where it comes from, might be due to caching issue?

olaulau commented 8 years ago

affected by massive performance drop too, worse than before, which wasn't very good (comparing to windows version)

ovdeathiam commented 8 years ago

I can confirm huge I/O load.

If i pickup a new the game lags as if it's loading new content but after i lets say drop m4a1 and pickup ak47 then again drop it and revert to m4a1 i still get huge I/O as if the game is unable to load skins from cache, something timeouts and then it loads the proper skin. Same goes for many menu items.

Also what i've noticed is that +showbudged and all other budget graphs are empty.

This issue makes the game unplayable. __ I've found a way to revert to an older 32bit binary. At least I can play till valve fixes it: https://redd.it/4l6eg6

Maccer1 commented 8 years ago

Did any of you try to reinstall csgo completely?

ovdeathiam commented 8 years ago

Yes, that was the first thing I did. Reinstalling didnt change anything.

ovdeathiam commented 8 years ago

I've done some more testing.

I'm using nmon to monitor disk I/O and when i move my mouse over my inventory items in game my disk WRITES increase up to 32MB/s, READ is at 0.0b/s and FPS drop from 120+ to 5.

CypherGrue commented 8 years ago

Keeps opening "/tmp/out.stuff" for mode "wa" (write, append)

Note is32=1 in trace #3 below

Thread 1 "csgo_linux64" received signal SIGINT, Interrupt. 0x00007f970bd327ad in open64 () at ../sysdeps/unix/syscall-template.S:84 84 in ../sysdeps/unix/syscall-template.S (gdb) bt

0 0x00007f970bd327ad in open64 () at ../sysdeps/unix/syscall-template.S:84

1 0x00007f970bcb59fe in GIIO_file_open (fp=fp@entry=0x440d5480, filename=,

posix_mode=<optimised out>, prot=prot@entry=438, read_write=4, is32not64=is32not64@entry=1)
at fileops.c:221

2 0x00007f970bcb5c65 in _IO_new_file_fopen (fp=fp@entry=0x440d5480,

filename=filename@entry=0x7f96fad5e843 "/tmp/out.stuff", mode=<optimised out>, 
mode@entry=0x7f96fad5e840 "wa", is32not64=is32not64@entry=1) at fileops.c:328

3 0x00007f970bca9ce4 in __fopen_internal (filename=0x7f96fad5e843 "/tmp/out.stuff",

mode=0x7f96fad5e840 "wa", is32=1) at iofopen.c:86

4 0x00007f96fad0b7f8 in ?? ()

from /media/hdb1/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/linux64/scaleformui_client.so

5 0x00007f96faa4d136 in ?? ()

from /media/hdb1/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/bin/linux64/scaleformui_client.so

chmod 0400 /tmp/out.stuff # game does not start with this

ovdeathiam commented 8 years ago

Made a working workaround!

#!/bin/bash

#Make a temporary dir for our ramdrive
mkdir /tmp/csgo_fix/

# Make a 16mb ramdrive in the new folder for fast I/O
sudo mount -t tmpfs -o size=16m tmpfs /tmp/csgo_fix

# Move the file that is constantly read to our ramdrive
mv /tmp/out.stuff /tmp/csgo_fix/out.stuff

# Make a symbolic so that game uses the file on our ramdrive
ln /tmp/csgo_fix/out.stuff /tmp/out.stuff -s
CypherGrue commented 8 years ago

Improved ovdeathiam's fix by removing existing /tmp/out.stuff first:

#!/bin/bash
mkdir -p /tmp/csgo_fix/
sudo mount -t tmpfs -o size=16m tmpfs /tmp/csgo_fix
unlink /tmp/out.stuff
ln /tmp/csgo_fix/out.stuff /tmp/out.stuff -s

Confirmed much improved working on Ubuntu 16.04 LTS x86_64, Radeon, but some in-game lag issues remain

ovdeathiam commented 8 years ago

Even shorter, no root access needed, no more wasting 16m of ram :D :

#!bin/bash
rm /tmp/out.stuff
ln /dev/null /tmp/out.stuff -s
CypherGrue commented 8 years ago

Confirmed shorter version.

Solves menu delays, fps drops and lag due to sounds. Doesn't solve player lag with dead-reckoning bounce (maybe just my network/hardware?).

Valve, how about open sourcing the software so we can test/fix it properly?

ovdeathiam commented 8 years ago

I've played 15 minutes on DM now and I don't see any other stuttering/fps problems.

ovdeathiam commented 8 years ago

@davidw-valve in https://github.com/ValveSoftware/csgo-osx-linux/issues/740

We have just released an update which we expect will resolve this. Please file a new bug report if you are still having issues.

vMcJohn commented 8 years ago

Performance issues are being captured in issues #791.