ValveSoftware / Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
470 stars 38 forks source link

[Linux] FPS drops throughout the game #1446

Open ivanceras opened 6 years ago

ivanceras commented 6 years ago

Your system information

https://gist.github.com/ivanceras/9fcec0cdfe384d80d7274c4609e33292

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large pastes as a Github Gist.

Steps for reproducing this issue:

  1. Play with max settings at 60fps, after ~20 minutes to the game, fps drops to ~10-20fps
  2. Play with minimum settings at 120fps, after ~30 minutes to the game, fps drops to ~10-20fps
gdrewb-valve commented 6 years ago

This only started happening with 7.12? People have been reporting FPS drops as the game progresses on all platforms for a long time.

gdrewb-valve commented 6 years ago

Also you mention Vulkan specifically so you do not observe the same drop when using OpenGL on the same system?

ivanceras commented 6 years ago

@gdrewb-valve I'm not sure if this just started with 7.12, but I came to play dota2 on version 7.12. I've also tried the Opengl which has the same problem. The only way for me to get the smooth fps back is to close the game and reconnect back again. Restarting dota2 every after game will also help delay the problem.

gdrewb-valve commented 6 years ago

OK, I've edited the title to reflect that this isn't Vulkan-specific and isn't necessarily new since 7.12. It's likely the same all-platforms problem that other people are seeing which the larger team is looking at. There won't be a lot of status here since it's not a Mac/Linux issue.

ivanceras commented 6 years ago

I think it is only affecting vulkan. I've tested it on my other PC with GTX 1070 it will have the same issue. Meanwhile changing the back-end to opengl will only drop to ~40fps and gradually recover to 60fps which is bearable in the game without having to restart and reconnect.

Observation in vulkan: When I close the game it shows a split second still image on the previous status of the game (ie, closing and reconnecting the game at 30 minute mark say level 10, the still image upon closing shows level 1 in the early start of the game.)

acafresna commented 6 years ago

This is also happening to me, and it doesn't happen in opengl. Also it crashes a lot under vulkan. gist

Example of a segmentation fault when watching a downloaded replay

gdrewb-valve commented 6 years ago

@acafresna, you'll want to open an issue for your crashes on Dota-2-Vulkan.

acafresna commented 6 years ago

@gdrewb-valve thanks, I just read in dota-2-vulkan that may experience crashes with < 2GB of GPU memory, and I have 1GB. So I won't open an issue. It didn't happen a month ago though.

danginsburg commented 6 years ago

@acafresna For the Vulkan crash, you can try adding -newtexturestreaming to your Launch Options, but yes we tend to have issues in low memory configs still when memory allocations start failing. The new texture streaming more aggressively reduces texture memory utilization, but also comes at a small performance cost so I haven't made it the default.

sylware commented 6 years ago

Yep, I noticed the same thing: running dota2 vulkan linux amd-staging-next (from yesterday) drm/llvm/mesa/xserver/x86-video-amdgpu git from yesterday CPU: AMD FX9590 GPU: AMD TAHITI XT

pavildon commented 6 years ago

any workaround for this? I'm also getting FPS drop in mid game (vulkan and opengl), and I have to restart dota and reconnect. very annoying. Dota 2 was working very stable and solid previous the compendium patch.

My specs: OS: Nix OS CPU : i7 7700 HQ RAM: 16Gb GPU: NVidia 1060 GTX 6 Gb VRam

ivanceras commented 6 years ago

@aindigo, not a workaround but may improve the fps. Disable the steam overlay, in steam settings. When steam overlay is enabled, i noticed that when there is a notification ie. <Your Friend' name> is now playing Dota2 this will be the start of the fps lag. I also type in this into the console, which tell the engine to maintain process priority to prevent lag.

engine_no_focus_sleep 0

Nice to see steam works well in NixOS?

sylware commented 6 years ago

If you disable the overlay, with the vulkan backend, in the middle of a game, you'll get stuttering related to the mouse input. I did report this bug and tested not that long ago (bug still around).

pavildon commented 6 years ago

@ivanceras i do not have problems with fps, i got overlay disabled all the time, I play with 100 - 120 in all stages of the game except when this problem surges. is not that the game degrades slowly, it just drop from 120 fps to 20 and it never go back. and yes , steam/dota2 works really good on NixOS, i don't know about other games.

sylware commented 6 years ago

@aindigo this is because you don't have the overlay enable. It's a reported bug. when it happens, don't touch the mouse and keyboard and you'll see the difference

u83rmensch commented 6 years ago

I also have this issue but it is only with Vulkan, the issue does not exist at all when using OpenGL. I was using the nvidia 390 drivers and just updated them to the 396 drivers but this did not help. I am on kubuntu 18 x64 with an nvidia 770gtx.

this started happening about the same time the steam client beta for the new chat came out. I dont know this this is relevant or not as rolling back the beta did not help and running the steam client beta with OpenGL was perfectly fine.

hope this can get fixed soon.

simvux commented 6 years ago

@u83rmensch Right click on Dota 2 in library > Press Properties > Enable steam overlay while in-game

u83rmensch commented 6 years ago

@AlmightyFloppyFish

I did that and it had no effect.

idk if they patched the issue or what but the issue stopped a while a go.

ghjnut commented 6 years ago

I'm getting the issue. Sudden massive frame drops mid-game (75-100 to 15-30). Restarting fixes the issue. specs: https://gist.github.com/ghjnut/c44f7f91b459ed7cb63507b35b043b63

nvidia driver: 396.54 (ppa:graphics-drivers/ppa)
Linux Mint 18.3 (kernel 4.15.*)
GTX 1060
Core i5 6500
Steam overlay disabled
Display: 2560x1080 144hz
Vulkan enabled
ghjnut commented 6 years ago

I can't turn anything up. CPU, GPU temps are well withing nominal range. committed GPU mem is only 2GB of 6GB. The one thing I did noticed is that while playing CPU usage was consistently around 75%, and when the frames dropped CPU usage started jumping all over the place.

Is there a way I can start manually from the terminal so I can get output or a place where logs are dumped that I can comb through? This really feels like a software issue.

ghjnut commented 6 years ago

I re-read through some of the comments above and realized that some were suggesting turning the overlay on, and the other were suggesting turning it off. Turning the overlay ON fixed the issue. This also fixed issue with my controller controls being borked in rocket league.

Fixed: Turned steam overlay ON and issues no long occurred.

sylware commented 1 year ago

After the latest big patch, this issue became accute again: I start a game above 100 fps and I finish with ~40/50 fps...

AMD Ryzen 9 3900XT 12-Core Processor... up to 4.7GHz...

sylware commented 1 year ago

Still the case now.