ValveSoftware / csgo-osx-linux

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

Underwhelming performance in CS2 - resources not used #3338

Open 1337-tux opened 1 year ago

1337-tux commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

CS2 gives me at the moment only between 10 and 15fps in 720p low detail. CS:Go was running 1080p max detail 120fps+. The interesting thing is, CS2 is not using the available resources. In the main menu mangohud shows 50% CPU and 70% GPU utilization. In game it's 30% CPU und 10% GPU utilization. First I thought this has to be a mistake and checked the power consumption. However it confirmed mangohud. In game the power draw is dropping from 40W to 30W. For example in Halo Infinite MP, which is playable (ok, with eye cancer), makes my low end system really cry, it's 100% CPU and 100% GPU utilization at 60W power draw, which is very close to the theoretical maximum for the used hardware components. So, the question is, why in CS2 my CPU is yawning and my GPU sleeping?

Steps for reproducing this issue:

  1. just start a bot match
SniperAssault2011 commented 1 year ago

I'll have to agree with this. I tested this in both FX 8350 and i7 8700k both using AMD RX 5600 XT Radeon GPUs. CPU and GPU utilization have been underwhelming to say the least. In the AMD Radeon Overlay, CPU utilization has been around 30-50% utilized in both DX11 and Vulkan. GPU utilization even worse, around 20-30% utilization. Both machines running at max settings @1080p. I think the game isn't using all resources available. Is there a config file in CS2 that allows us to change how many cores the game can utilize? I think that can solve most problems here.

SniperAssault2011 commented 1 year ago

I made a post in the CS2 discussion forum in Steam.

https://steamcommunity.com/app/730/discussions/0/3881596897256509095/?tscn=1695985931

The problems are clearly optimization and the game not utilizing all cores.

SniperAssault2011 commented 1 year ago

@kisak-valve Also an issue in Windows 10. I'm using this OS when playing CS2, still the same problems. Seems to be an optimization issue.

Keplyx commented 1 year ago

This https://github.com/ValveSoftware/csgo-osx-linux/issues/3350 seems to be kind of linked. Performance goes down without increasing GPU/CPU usage

alexandrpaliy commented 1 year ago

Can confirm.

Although my specs are obviously quite low in comparison to many others (I use ThinkPad P14s Gen2 AMD with Ryzen 7 Pro 5850U (8C 16T) and integrated graphics), I do have the same issue: while CS2 is struggling to show stable 60 fps, my GPU usage is around 75% and my general CPU usage is at 50% or even lower.

It feels like cs2 (or vulkan specifically) is too humble to ask for more resources :)

P.S. I use linux (ubuntu 22.04), but, according to one of the posts above (and to the feedback I read at reddit), this issue is cross-platform (but happens only/mostly when vulkan is used). I can share any required details if needed.

nstdio commented 1 year ago

Same for me. Feel free to request System Information if needed.

JohnDoe02 commented 1 year ago

I can also confirm this .. I am on a pretty high-end setup, 5800x3d + 7900xtx. On win11 I get something like 300-600 fps with the dx11 renderer in wqhd. On linux (arch, mesa 23.1.8) with the vulkan renderer, I am stuck 100 - 240, with the occasional drop below 100. mangohud shows the gpu at 100% but cpu hovering around 15%.

alexandrpaliy commented 1 year ago

Finally took my time to update my local "netdata" version, so here are some screenshots of me:

  1. Playing offline with bots
  2. Joining official DM

CPU usage: image

GPU usage: image

In-game fps_max was set to 120 during this test, and I definitely wasn't reaching that limit - average fps was around 75, I would say, sometimes dropping to 60 or lower during DM.

As you can see, CPU usage is far from being 100%, and GPU usage is something like 75% during offline map and 80-85% during online DM.

upd: just in case steam system information cs2 sys_info

upd2: Obviously, I'm not pretending "my FPS would be so much better..." - my hardware is pretty limited, so it's not about "underwhelming performance" for me. But everytime you lose a fight during some FPS drops, you start thinking "wait, but if GPU actually reached 100%, maybe I woudn't have that FPS drop...", and it makes you sad :) So, for me it's just a matter of reaching 100% utilization.

alexandrpaliy commented 1 year ago

A couple of screenshots with MangoHud.

Offline (with bots): Screenshot_20231004_210328 Screenshot_20231004_210414 Screenshot_20231004_210522

Online (DM): Screenshot_20231004_211800 Screenshot_20231004_211630 Screenshot_20231004_211543

Funny enough, the only place where I can notice constant 99% GPU load is... the main menu :D Screenshot_20231004_211407

alexandrpaliy commented 1 year ago

Wow. I had steam installed via flatpak, because according to general feedback there shouldn't be noticeable difference in performance. Turns out there is, at least in my configuration.

Screenshot_20231004_220121 Screenshot_20231004_215847 Screenshot_20231004_215730

Screenshot_20231004_220549

On average, I'd say I got 20-25 fps boost after switching to native (deb) installation. Difference is also noticeable in online DM, but I didn't bother trying to replicate the same screenshots.

But, going back to the topic - GPU usage is still not 100%.

ex1tium commented 1 year ago

Wow. I had steam installed via flatpak, because according to general feedback there shouldn't be noticeable difference in performance. Turns out there is, at least in my configuration.

On average, I'd say I got 20-25 fps boost after switching to native (deb) installation. Difference is also noticeable in online DM, but I didn't bother trying to replicate the same screenshots.

But, going back to the topic - GPU usage is still not 100%.

Can somewhat confirm that flatpak version of steam causes microstuttering on my system and inconsistent frames.

I had to uninstall steam from dnf few days ago due to having some package conflicts. I installed steam from flatpak and started having issues. Happened upon your post and uninstalled flatpak steam and reinstalled binary from dnf.

I did some package/kernel cleaning today and looks like the package conflict previously was resolved. It all seems OK after going back to dnf binary.

ppedro1 commented 1 year ago

I switched from RX 5700 XT (oldGPU) to RX 7800 XT (newGPU) yesterday and the game seems to run smoother, but the FPS gain from this switch was less than 50, still well under 200 FPS. With oldGPU the GPU utilization was always 99% and fps was 90-150, with newGPU the utilization is lower, 80-99% (except in the menu its always 99%). FPS on newGPU is around 120-180.

I had to switch to fedora (from ubuntu) to get CS2 to even launch with newGPU (I think it needs newer linux-firmware than was available in ubuntu package manager), so it might also contribute to differences in performance.

I will provide system info and better statistics later.

GreatBigWhiteWorld commented 1 year ago

GPU and CPU are both below 50% usage in game.

skywasa commented 12 months ago

I have the same reported low performance problem and the worst of all is I use an amd FX 83XX (GTX750ti), that is, the performance is no longer the best... and using only 30-40% CPU/GPU playing against bots only I can play at 15-30fps. When I disable the bots' AI, everything is fluid and stable (GTX handles graphics well)

Even after many, many updates, it is a problem that persists until now and ruins my experience in CS2. I think it's an optimization problem in the source 2 engine. 20231125085004_1 20231125091417_1 20231125091428_1 20231125091437_1 20231125091443_1

madhavpcm commented 11 months ago

I have the same issue (in Windows and Linux). Both CPU and GPU are underutilized however in main menu, GPU utilization is proper (clock at 1500Mhz) and in game it is only 800Mhz. I have tried -threads launch command but the game doesnt seem to use more than 4 threads. -high launch options seems to help a bit with smoothness.

Ryzen 4600H Radeon RX 5600M

skywasa commented 11 months ago

I emailed them begging for help and they basically responded: "We're sorry but your PC is garbage, it's not our fault. Please call a technician and upgrade."

I would even agree if my PC was unable to run the game reaching 100% CPU/GPU consumption, but the game clearly runs well on my system. As I said, it's a game optimization problem, but apparently they don't care. (note: CSGO runs stable at 60fps even with all settings high)

Valve has been playing dirty by forcing players to migrate from CSGO to CS2, we are forced to download 2 to play GO in legacy mode, making the game a parasite on its predecessor (usurping positive reviews and playtime from CSGO). The problem is precisely this, I paid for the GO and I want to have the right to download only the GO, if I want. Downloading a poorly optimized and buggy beta game takes up precious space on my hard drive.

I don't doubt that the bad optimization is intentional, but anyway...*

In a world where everyone wants CS2 to run at 400fps, I'm just asking for a measly 60fps to play casually I'm very disappointed with Valve, I don't intend to spend any more money on Steam.

Captura de tela 2023-12-09 090912 Captura de tela 2023-12-09 090808

[EDIT]

https://steamcommunity.com/discussions/forum/1/5540051992990975285/

Captura de tela 2023-12-13 011901

ppedro1 commented 11 months ago

How exactly do you suppose they could "optimize" a game running on a newer engine with MUCH improved physics, shaders, etc. to run at 60FPS, when your hardware could only produce "stable 60FPS" on the old game/old engine?

You complain that you have to download CS2 in order to play CSGO (don't know why you care about CS2 FPS or optimization if you just want to play CSGO), which admittedly sucks ass for your use case, but sadly it is the majority whom valve (or any developer) aims the changes at. And from my experiences so far, the majority wants to play CS2.

All this talk of valve making you/us do this and that and the conspiracy theories just because you have clearly outdated* hardware is just ridiculous.

*CPU from 2012 and GPU from 2014, and I happen to have quite horrible experiences on both of the CPU and GPU

skywasa commented 11 months ago

Replying to https://github.com/ValveSoftware/csgo-osx-linux/issues/3338#issuecomment-1848591576

Sorry if I offended you, Pedro1.

CS2 doesn't even work as it should with current hardware, that's a fact (prints and reports prove this).

Captura de tela 2023-12-09 201842

Captura de tela 2023-12-09 202952

Captura de tela 2023-12-09 205342

The issue is not whether the hardware is old, it's optimization. The FX has terrible single core performance, I know, but if the 4/8 cores are used well, it has good performance. And let's face it, CS2 shouldn't be a heavy game, even on modest hardware. Note: CS2 requires at least a 2009 processor to work "well".

Captura de tela 2023-12-12 103312

My processor: Captura de tela 2023-12-12 104430

Furthermore, for me, if I can play Call of Duty: Modern Warfare Remastered smoothly on my PC, the hardware is definitely not a problem. Forza Horizon 5, Resident Evil Remake, etc. They all work well. (of course, except some that require DX12, due to the video card)

Call of Duty®_ Modern Warfare® 2 Campaign Remastered 10_12_2023 00_37_51 Call of Duty®_ Modern Warfare® 2 Campaign Remastered 10_12_2023 00_38_50

What I mean by CSGO running at 60fps is because my monitor is 60Hz. I don't need anything more than that.

Whether it's theory or not, strange things have been happening since the release of CS2. What causes this strangeness is they have a lot of experience in fps and they shouldn't have made the same mistake as GO at the beginning.

CS2 is a buggy game, poorly optimized and released prematurely, fact. You need to download the parasite (and usurper) CS2 to play CSGO, fact. People reported problems playing CS 1.6 (caused after convenient updates) just in times when CS2 has seen a breaks negative record for the number of players, check..

Captura de tela 2023-12-12 110621

The only theory in this is that Valve maintains this low performance on purpose (or rather, manipulates performance strategically and discreetly) or don't really care about optimizing, even with almost daily updates. In other words, you need a very good PC to run CS2 acceptably.

Captura de tela 2023-12-14 095139

The owner of the most played FPS in the world say: "You have the minimum requirements but you need an upgrade" What I think about this: acordo Captura de tela 2023-12-14 094159

Planned Obsolescence Sucks!

ppedro1 commented 11 months ago

No offense taken or intended, my friend.

I didn't mean to imply that CS2 was perfect and I am too eagerly waiting for many things to improve. It is just a cold fact that there is no way you're getting the same performance with CS2 quality graphics than with CSGO quality graphics, no matter how much one thinks there's room for optimization.

There's no need to continue this off topic conversation.

skywasa commented 11 months ago

Alright, I posted it here in hopes that someone at Valve will read this one day. I don't mean to say that I hate CS2, quite the opposite. I hope I don't offend any fans, I just want to play.

xiao-mantou commented 10 months ago

I found that simply lower your resolution will give you better experience (Frame rate, smoothness) than FSR on. I hope they give resolution scale option in further update. And I still think this game is not well optimized, because I got the same performance with or without intel turbo boost in office.

Update: Found the resolution scale "setting.mat_viewportscale" in cs2_video.txt.

JohnDoe02 commented 9 months ago

Ever since the last updates (arms race+), this has become a serious issue for me .. I am on a high-end system, 7900XTX + 5800X3d and am experiencing framedrops into the 50-60s in some occasions while GPU utilization tends to sit around 50%. I am on arch linux, mesa 23.3.5.

The issue seems to be worsen after playing for a while, especially when playing deathmatch. Also it seems to be connected to the firing animations, as if I am something like 20-30 minutes in, I will have very laggy gameplay especially while spraying.

However, also normal matchmaking lags sometimes, most obviously on ancient, T-spawn, where my fps sometimes drop below 100 (300+ before arms race) and the game feels completely sluggish.

schnetzerich commented 8 months ago

I am experiencing the exact same issue as JohnDoe02 since the Arms Race update. When starting the game, performance is fine, 250+ FPS, Ancient T-spawn or Overpass B Short dips to 150, still easily playable. After one full Deathmatch, those same spots dip to 30 or below, best case scenario now being 150FPS when hugging a wall. After a second full Deathmatch, it gets even worse. In normal matchmaking i am at this point forced to restart the game after one half, because otherwise the second half will not be playable. The maps with the more noticable dips (Ancient, Overpass) will lead to unplayability earlier (about 10 rounds into a Competitive Match), while maps with less noticeable dips (like Inferno) will lead to unplayability later (about 15 rounds into a Competitive match) So DM is the fastest way to reproduce. One more thing to note is that during those dips my GPU will not do a whole lot, as others have mentioned. When i am in the main menu with unlocked FPS, the GPU is working at 100%, as soon as i am in a game this gets less and less, basically doing nothing when im down to <30 FPS.

Specs are: gist of the latest test Ryzen 3700X 5700XT 16GB RAM

using Debian 12, tried 3 different Kernels (6.1, 6.5, 6.6) and two different Mesa versions (22.3.6-1 on 6.1 and 23.3.5-1 on the other two) also not on Wayland, but X11. One more thing i tried is changing the CPU governor to performance, which also didnt help.

StupydHors commented 8 months ago

Funnily enough, I got here searching for the same symptoms and trying the same solutions but on Dota 2 (same engine so I guess its not very surprising). GPU util in menu is 100% at 200W but in game it gets down to like 90W 45% while the CPU is not at 100% on any core.

mcnuggetsx20 commented 8 months ago

The same issue here, CS2 on windows 11 runs at 150-200 fps and barely exceeds 100 on Linux with the same settings. And expectedly my resources are barely used. CPU at 50% and GPU at maybe 30-40. I run an NVIDIA GeForce 1660Ti with proprietary drivers.

Also, are there any developers actually tracking this issue? It seems like we as the players have been updating on this without anyone paying attention.

schnetzerich commented 5 months ago

I am wondering, since there has been no activity in this thread for a while: for those experiencing this issue, did you manage to fix it on your own by updating/downgrading/anything? I am still having the exact same problem a few months later, so if anyone found anything that would be great to know!

JohnDoe02 commented 5 months ago

Sadly, no, can confirm the issue still persists. After ~15min deathmatch, the game becomes unplayable due to hard fps drops into the 60s especially while spraying -- on a high-end machine, 7900xtx + 5800x3d, mesa 24.1. Additionally, there are annoying microstutters that start even earlier.

On a side note: I tried to play aim-map instead of deathmatch as a poor man's workaround. However, aim-map consistently crashes for me on Linux after roughly 5min (windows works just fine).

All in all, not really playable for me on linux right now. I am booting windows if I want to play.

mcnuggetsx20 commented 5 months ago

What I find weird though is that cs2 on my system is virtually unplayable due to sudden fps drops from ~150 to sometimes even something like 9 or 15 fps but on my brother's computer which he also runs Arch Linux on the issue is basically non existent. Sure, maybe there's a slight performance decrease compared to windows but it's not that bad at all as he usualy stays firmly within 180-250 fps range. His specs are Ryzen 7 3800X + RTX 2060 12GB. So maybe there's something interesting going on on his system that might help us solve the problem or maybe at least find a workaround.

dylif commented 5 months ago

What I find weird though is that cs2 on my system is virtually unplayable due to sudden fps drops from ~150 to sometimes even something like 9 or 15 fps but on my brother's computer which he also runs Arch Linux on the issue is basically non existent. Sure, maybe there's a slight performance decrease compared to windows but it's not that bad at all as he usualy stays firmly within 180-250 fps range. His specs are Ryzen 7 3800X + RTX 2060 12GB. So maybe there's something interesting going on on his system that might help us solve the problem or maybe at least find a workaround.

What CPU and GPU do you have?

mcnuggetsx20 commented 5 months ago

Intel Core i5 9400F and GTX 1660Ti 6GB. I know this isn't a high end machine by any means but come on there's no way my fps should ever drop to 9. You can also see my last post for more info:

The same issue here, CS2 on windows 11 runs at 150-200 fps and barely exceeds 100 on Linux with the same settings. And expectedly my resources are barely used. CPU at 50% and GPU at maybe 30-40. I run an NVIDIA GeForce 1660Ti with proprietary drivers.

Also, are there any developers actually tracking this issue? It seems like we as the players have been updating on this without anyone paying attention.

dylif commented 5 months ago

Intel Core i5 9400F and GTX 1660Ti 6GB. I know this isn't a high end machine by any means but come on there's no way my fps should ever drop to 9. You can also see my last post for more info:

The same issue here, CS2 on windows 11 runs at 150-200 fps and barely exceeds 100 on Linux with the same settings. And expectedly my resources are barely used. CPU at 50% and GPU at maybe 30-40. I run an NVIDIA GeForce 1660Ti with proprietary drivers. Also, are there any developers actually tracking this issue? It seems like we as the players have been updating on this without anyone paying attention.

There seems to be a trend (but not fully consistent) of intel CPUs performing poorly, my rig included (13900hx). I'm wondering if this is a scheduler issue on Linux.

leninnava commented 4 months ago

On Windows, I just noticed that my game on 1080p is also not using all the GPU while on a unlocked framerate. My GPU is a 7800XT and a 7600X CPU. I don't really get this issue in any other game, so I might be a CS2 thing, it's crazy that I'm certain I can run this game much better on 1080P than what it currently does. It hangs at 50% gpu utilization, and 40% ish for CPU.

CoWinkKeyDinkInc commented 3 months ago

I've recently been fiddling around with ALHP, an unofficial user repository for Arch Linux that offers the official repositories recompiled for x86-64-v2 x86-64-v3 and x86-64-v4 instruction sets, along with LTO and -03 optimizations. This should offer better overall performance. I've personally seen it use 100% of the GPU much more consistently and it feels much better to play. It might make a difference, especially if you can use x86-64-v4 like the Zen 4 chips can. The feature levels your CPU can support can be found by using /lib/ld-linux-x86-64.so.2 --help in the terminal.

Fedora is already using x86-64-v2 for all packages, and CachyOS offers similar changes like ALHP, with better benchmarks being tested.

Benchmarked with MangoHUD for 2 minutes AMD Ryzen 2600X with RX 580 GPU KDE on Wayland, with CS2 running on pure Wayland. mangohud gamemoderun %command% -threads 8

My benchmarking kinda sucks so take it with a grain of salt :p I used real matches (no practice mode) for the table:

FPS Shoots Shoots (x86-64-v3) Dust 2 Casual Dust 2 Casual (x86-64-v3)
97% 119.4 124.7 122.2 138.8
AVG 74.8 74.4 69.6 82.6
1% 45.3 33.3 40.0 48.9
0.1% 32.2 8.7 28.1 32.9
xiao-mantou commented 3 months ago

Screenshot (225) CS2 has extremely high usage on a single core, while utilizing another core almost not at all. My CPU doesn't have E-cores or hyper-threading. Is CS2 treating core 5 as an E-core? This issue cannot be alleviated by using the -threads launch option. (I'm on Windows)

ztjuh commented 3 months ago

Linux: https://gist.github.com/ztjuh/f143548cb0eca0575c907482f708e836 Windows: https://gist.github.com/ztjuh/ca5d6045cbd3d7213db8e2e34ff80af3

offsetcyan commented 1 month ago

It's really sad Valve don't care. This is a Linux problem but performance is bad on Windows, too. I'll see you guys in Deadlock.

ztjuh commented 4 weeks ago

Issue is much better now! FPS seems stable but I think I still need to restart my game after every premier...

JohnDoe02 commented 3 weeks ago

Can confirm, general performance has also improved on my side! I still see a degradation over time though. When playing deathmatch for 10 - 15 minutes, frames will slowly drop, 1% lows get increasingly bad and the game starts to feel sluggish (it feels as if the recoil increases and as if I have to wait longer until I can shoot after counterstrafing)

Edit: I did some more testing and have to correct my previous statement, performance seems to be stable over time. However, there is an occasional sluggishness due to high frametimes (>15ms). This seems to occur most often in intense fighting situations, especially when spraying or others spraying at me.

All in all, I consider it playable again under linux :+1:

MichaelNROH commented 6 days ago

I can't confirm these results. Performance is still not close to Windows and is way below hardware expectations.

Some data:

Deathmatch Test

Performance drops noticeably over time. On Anubis (first three screenshots) it's not as bad as on newer revamped maps like Inferno (see 4th)

Screenshot From 2024-11-16 17-29-27 Screenshot From 2024-11-16 17-29-39 Screenshot From 2024-11-16 17-29-51 Screenshot From 2024-11-16 17-19-43

General CPU and GPU loads seem okay-ish, but I cannot really identify a bottleneck here since not as single core is hitting a limit.

Screenshot From 2024-11-16 17-22-20 Screenshot From 2024-11-16 17-21-53 *Edit to the image above. I have tested both on balanced power profile and performance (see govenor value), but the performance did not increase.

Note: Is Mangohud working at the moment? CS2 does not launch with it enabled, while other games do

Update:

Setting LD_PRELOAD="" %command% as the launch options seems to help with overall frame time consistency. While the overall framerate seems to only have improved slightly (see images below) the game doesn't stutter as much and feels playable (VRR could help with smoothness on regular low fps) . Screenshot From 2024-11-16 19-06-32 Screenshot From 2024-11-16 19-06-47 Screenshot From 2024-11-16 19-06-39

So basically, there seems to be something wrong pre-loading some libraries since LD_PRELOAD="" presumably overwrites the default settings.