|
![](/i/fill.gif) |
Invisible <voi### [at] dev null> wrote:
> > One industry where multithreading has been all the rage in later years
> > is the gaming industry.
> Really? I haven't been paying attention especially closely. Last time I
> looked, the advice was "don't ever buy a multi-core CPU for a gaming
> machine because no games support it yet". Has that finally changed now?
Most of the "big" game engines (especially the Unreal Engine) support
multithreading today, so more and more games are automatically supporting
it as well. It's actually becoming increasingly rare for big games to *not*
support multithreading (with the possible exception of games which don't
*need* it, although that is also becoming increasingly rare due to the high
demand of games with more advanced features).
Of course "supports multithreading" is not a simple and unambiguous thing
to do. There's always room for supporting it better, distributing load among
cores better, and so on. Some game engines might advertise themselves as
supporting multiple cores, but in reality it might be that one core will
be constantly at 100% load while the others will be at 20% or whatever
(and hence the game will not be as fast as it could theoretically be).
As said, it's a difficult problem.
> > Just the mutual exclusion
> > problem is hard because it needs to be as efficient as possible.
> I guess the solution is to avoid the need for mutual exclusion to the
> maximum extent possible. Even if you can make it efficient, by
> definition it reduces the amount of stuff that can happen at once.
But that's precisely what's so problematic with game engines in particular.
If you try to avoid the need for locks as much as possible, you end up
precisely in the situation where you have 100% load on one CPU and 20% on
the others, because the load is not balanced.
Often this doesn't matter, but othertimes it would be beneficial if the
game could use all the cores fully.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |