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.
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.