Most AAA game studios target consoles first. Their in-house or external porting teams will then adapt it for Windows, but by then major engine decisions will likely have already been made in service of supporting the Ryzen/RDNA based Xbox Series and PS5 consoles. Smaller studios might try to target all systems at once but aiming for the least common denominator (Vulkan, low hardware requirements). Switch is a bit of its own best when trying to get high performance graphics.
Multi threading is mostly used for graphics, sound, and animation tasks while game logic and scripting is almost always single threaded.
deleted@lemmy.world 10 months ago
I bought Ryzen 3950x 16 cores 32 threads.
The first thing I noticed is some AAA games only utilize 8 cores. When you go multi threaded, it’s a matter of adding more threads which can dynamically selected based on the host hardware. AAA game studios are going the bad practice route.
I understand if they port an algorithm optimized to run on specific hardware as it’s. But, a thread count?
Nighed@sffa.community 10 months ago
There is only so much that can be multi-threaded, beyond that the overhead just slows things down (and can cause bugs)
More simulation type games (city skylines etc) can multithread more (generally) while your standard shooter has much less that it can do (unless you have AI bots etc)
Blackmist@feddit.uk 10 months ago
Plus it only takes one unthreadable task to bottleneck the whole thing anyway.
deleted@lemmy.world 10 months ago
My point here is the developer managed to split the load evenly between 8 threads. How come they cannot do it for 16?
The keyword, evenly, means all 8 threads are at 100% while other 8 threads are at 1-2%.
throwwyacc@lemmy.world 10 months ago
You’d need to look at the actual implementation, it’s hard to speculate from a tiny amount of data. What game are you referencing?
And as someone who has done multi threaded programming I can tell you that for games it is unlikely that they can just add more cores. You need work that truly can be split up, meaning that each core doesn’t needs work to do that doesn’t rely on the results from another core
Graphics rendering is easy for this and it’s why gpus have a crazy number of cores. But you aren’t going to do graphics compute on the cpu
vrighter@discuss.tchncs.de 10 months ago
ah, if only it were that simple. One can dream. The cpu is just one component in the system