this post was submitted on 16 Apr 2025
73 points (100.0% liked)
PC Gaming
10782 readers
736 users here now
For PC gaming news and discussion. PCGamingWiki
Rules:
- Be Respectful.
- No Spam or Porn.
- No Advertising.
- No Memes.
- No Tech Support.
- No questions about buying/building computers.
- No game suggestions, friend requests, surveys, or begging.
- No Let's Plays, streams, highlight reels/montages, random videos or shorts.
- No off-topic posts/comments, within reason.
- Use the original source, no clickbait titles, no duplicates. (Submissions should be from the original source if possible, unless from paywalled or non-english sources. If the title is clickbait or lacks context you may lightly edit the title.)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Basically every one of them made in the past 4 or 5 years?
Some are better than others - CP2077, for example, will happily use all 16 threads on my 7700x, but something crusty like WoW only uses like, 4. Fortnite is. 3 or so, unless you're doing shader compilation where it'll use all of them, and so on - but it's not 2002 anymore.
The issue is that most games won't use nearly as many cores as Intel is stuffing on a die these days, which means for gaming having 32 threads via e-cores or whatever is utterly pointless, but having 8 cores and 16 threads of full-fat cores is very much useful.
Many games use multiple threads, but they don't do so very effectively.
The vast majority of games use Unreal or Unity, and those engines (as products) are optimized to make the developer experience easy - notably NOT to make the end product performant.
It is pretty common that there is one big thread that handles rendering, and another for most game logic. This is how Unreal does it 'out of the box'. It also splits the physics calculations off into multiple threads semi-automatically, and the standard default setup will have render and game logic on separate threads.
Having a lot of moving characters around is taxing because all the animation states have to go through the main thread that is also doing pathfinding for all the characters and any AI scripts that are running.. often you can't completely separate these things since where a character wants to move may determine whether they walk/run/jump/fly/swim and those need different animations.
This often leads to the scenario where someone with an older 8+ core chip is wondering why the game is stuttering when 'it is only using 10% of my cpu' - because the render thread or game logic thread is stuffed and is pinning one core/thread at 100%.
Effective concurrency requires designing for it very early, and most games are built in iterative refinements with the scope and feature list constantly changing - not conducive to solving the big CS problem of splitting each frame's calculations into independent chunks.
Unreal is trying to move animation off the main thread but it will take a while to become standard. You can do it today but it's not the default.
It's definitely a hard problem to solve as an "out of the box" solution.