1

I've got an older Core i5 laptop and I play Dota 2 game sometimes. It's pretty demanding for my processor. But when I quit the game and look in system resources graph (in Taks Manager) and see constant 50% processor usage.

Why this demanding process doesn't run on another core with no usage?

Thank you.

1
  • The software has to be programmed to used multiple threads. It has only been in the last decade that processors had the ability to process multiple instructions at once ( threads ).
    – Ramhound
    May 27, 2014 at 0:14

2 Answers 2

4

Even though multi-core processors have existed for awhile now, a lot of applications aren't written to take advantage of SMP (Symmetric Multiprocessing). This is likely due to the complexity introduced when trying to take advantage of SMP, both in design and debugging. Wikipedia explains:

... a multi-core architecture is of little benefit for the application [when a] single thread [does] all the heavy lifting, [or when it is unable] to balance the work evenly across multiple cores.

Programming truly multithreaded code often requires complex coordination of threads and can easily introduce subtle and difficult-to-find bugs due to the interweaving of processing on data shared between threads (thread-safety). Consequently, such code is much more difficult to debug than single-threaded code when it breaks.

Dota 2, like a lot of games, appears to be one of those applications that doesn't take advantage of SMP.

1

Are you seeing 50% processor usage on a single core? On Windows, you can set something called the affinity which, if set, tells Windows to keep a process on one or specific cores. Perhaps one or more of your processes running have this set.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .