Not sure why LTT or anyone else would have thought that would even help considering simulation games like that rely heavily on single core performance.
CS2 uses multiple cores for… something, but it’s a Unity game and there’s only so much you can do to avoid dependence on a main thread. Your single core perforemance is still going to be a limiting factor.
CS2 uses a design paradigm called Entity Component System, which allows for aggressive multi core utilization by splitting up game logic into self contained “systems” that operate on a subset of “Components” per “Entity”. This allows for data dependencies to be statically analyzed and a scheduler to maximize CPU Utilization thanks to the better separated workflows.
It uses DOTS from Unity to accomplish this. There is a small bottleneck in communicating this work back to the game’s renderer, but it is doing a lot of valuable work with all those cores.The communication with the renderer and their rendering implementation sucks right now and thats where the performance tanks.
I am very aware of how at some level there are less multicore workloads involved but a CPU core can do a metric shitload of work, it’s the RAM and GPU transfers that kill performance. We dont need to blame Unity here, they are fucking this up 100% themselves.
Theres a video that explains all this but I cant find it and thats pretny annoying so whatever.
Not sure why LTT or anyone else would have thought that would even help considering simulation games like that rely heavily on single core performance.
I mean… Watch the video? It uses 64 fucking cores when available. It’s a heavily multithreaded game.
CS2 uses multiple cores for… something, but it’s a Unity game and there’s only so much you can do to avoid dependence on a main thread. Your single core perforemance is still going to be a limiting factor.
CS2 uses a design paradigm called Entity Component System, which allows for aggressive multi core utilization by splitting up game logic into self contained “systems” that operate on a subset of “Components” per “Entity”. This allows for data dependencies to be statically analyzed and a scheduler to maximize CPU Utilization thanks to the better separated workflows.
It uses DOTS from Unity to accomplish this. There is a small bottleneck in communicating this work back to the game’s renderer, but it is doing a lot of valuable work with all those cores.The communication with the renderer and their rendering implementation sucks right now and thats where the performance tanks.
I am very aware of how at some level there are less multicore workloads involved but a CPU core can do a metric shitload of work, it’s the RAM and GPU transfers that kill performance. We dont need to blame Unity here, they are fucking this up 100% themselves.
Theres a video that explains all this but I cant find it and thats pretny annoying so whatever.