ValveSoftware / csgo-osx-linux

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

setting.mem_level is set to an undocumented value by default #878

Open eth481642 opened 8 years ago

eth481642 commented 8 years ago

when i set shader quality on very high(default) the game is completely unplayable because of terrible artifacts when i set shader quality on medium most artifacts are disapear, but for example i cant see a hands of my character when i play for Terr but when i play for CT hands of character looks normally,although i can see a black artifact instead of water on previous versions of the game everything worked good on very high options, i tried to reinstall the game but no changes ubuntu 14.04.4,kernel 4.2

Tele42 commented 8 years ago

Please include a screenshot and your full system information as requested at https://github.com/ValveSoftware/csgo-osx-linux#system-information (in particular the video card chipset and driver version in use).

eth481642 commented 8 years ago

GeForce GT 630 driver 352.63 the first screenshot is at very high shader quality, the other screens are at medium shader quality 20160531004843_1 20160531005839_1 20160531005742_1

ovdeathiam commented 8 years ago

I can confirm this. Strangely if you lose your hand texture and move to a dark/shadowy area like CT spawn on dust2 the hands reappear.

Steps to reproduce:

  1. Ensure your video.txt file is not vanilla i.e. change at least one thing via video options.
  2. While in game enter video settings menu. After a short stutter the bug starts. The higher the video settings the longer the stutter.

Bug symptoms:

__ GPU: GeForce GTX 750 Nvidia driver: 361.42 (ubuntu 16.04 repo) OS: Ubuntu 16.04

ovdeathiam commented 8 years ago

I've found out that this damn line in video.txt causes the bug for me:

... "setting.mem_level" "-1" ...

On my windows machine it is set to 2. In my windows videodefaults.txt it is also set to 2. In my linux videodefaults.txt it doesn't exist. When the game autogenerates video.txt on linux it is set to -1.

When entering the video settings menu game reads video.txt and if the game finds that like set to -1 it causes all settings go to super-low and causes material errors. If i set it manually to 2 the problem is solved and the game no longer sets it to -1 on changing video settings.

@eth481642 can you please check your setting.mem_level and if it's -1 set it to 2 or to a value from videodefaults.txt?

eth481642 commented 8 years ago

@ovdeathiam yes,you are right my setting.mem_level was set to 0, when i set it to 2 all works normally,without any artifacts,although i dont have setting.mem_level option in videodefaults.txt and i can confirm that all artifacts started since i entered a video settings menu in a game and changed some options

ovdeathiam commented 8 years ago

Some more finds:

I'm unsure whether this is a bug, and if so it is a minor one:

LumpBloom7 commented 8 years ago

When "setting.mem_level" is set to 0, and all video setting set to low, scope of the sg553 freezes the graphics, unscoping it resumes normal gameplay.

ovdeathiam commented 8 years ago

@LumpBloom7 Acording to #moddefaults.txt# the setting.mem_level value should be ram dependant:

    {
        "name" "memory [0-1024)"
        "min megabytes" "0"
        "max megabytes" "1200"
        "setting.mem_level" "0"
    }
    "9"
    {
        "name" "memory [1024-1536)"
        "min megabytes" "1200"
        "max megabytes" "1800"
        "setting.mem_level" "1"
    }
    "10"
    {
        "name" "memory [1536-)"
        "min megabytes" "1800"
        "max megabytes" "65535"
        "setting.mem_level" "2"
    }

As you can see, the 0 value is for up to 1GiB of RAM and since the game requires minimum of 2GiB of RAM it is reasonable to say that "0" may be unsupported. The problem described above is due to it beeing set to "-1". Since the game is unable to recognise what specs we have it sets a value of -1.

They could at least set it to "2" instead of "-1" as a fallback value since it is in the game requirements.

tanmaysachan commented 8 years ago

i have the exact same bug. on low and medium settings, the hands on the T side dissappear(not the gloves, same case here). and on high and very high shader settings entire player models, everyone in the game dissappears(except their weapons). anyone found a fix?

LumpBloom7 commented 8 years ago

You could follow the above procedure to fix the problem. Worked like a charm in my case.

0xBADEAFFE commented 8 years ago

I can confirm this issue on Ubuntu 16.04 with Nvidia.

perkele1989 commented 8 years ago

Just wanted to make this visible here: https://github.com/ValveSoftware/csgo-osx-linux/issues/1170#issuecomment-239704710

Not only does it fix the problem, I also get a huge performance boost by setting memlevel to 2 on integrated Intel GPU. I think this could be important for both Valve and Intel developers to notice.

davidw-valve commented 8 years ago

We will be shipping an attempt to fix this issue in the next update.

Tele42 commented 8 years ago

Per "– Fix a bug where some users would have a bad mem_level set which would cause poor performance." in the 2016-08-18 client update, please retest and comment if this has improved.

ovdeathiam commented 8 years ago

I can confirm that I can't get any material to dissapear, but I can also deny this bug got fixed as my mem_level sets it's self to undocumented value "-1".

My test procedure:

Further testing:

Changing shader detail does not make any material dissapear, so that probably got fixed. Previously after the long game hangup it was 100% sure to get the material dissapear to get triggered.

Tele42 commented 8 years ago

Thanks for retesting. I'll let @davidw-valve decide if he wishes to pursue this any further.