1

У меня старый ноутбук Core i5, и я иногда играю в Dota 2. Это довольно сложно для моего процессора. Но когда я выхожу из игры, заглядываю в график системных ресурсов (в Taks Manager) и вижу постоянное использование процессора на 50%.

Почему этот сложный процесс не работает на другом ядре без использования?

Спасибо.

2 ответа2

4

Несмотря на то, что многоядерные процессоры существуют уже некоторое время, многие приложения не написаны для использования преимуществ SMP (Symmetric Multiprocessing). Скорее всего, это связано со сложностью, возникающей при попытке использовать преимущества SMP как при разработке, так и при отладке. Википедия объясняет:

... многоядерная архитектура мало полезна для приложения [когда] один поток [выполняет] всю тяжелую работу, [или когда он не может] равномерно распределить работу между несколькими ядрами.

Программирование действительно многопоточного кода часто требует сложной координации потоков и может легко вносить тонкие и трудно обнаруживаемые ошибки из-за переплетения обработки данных, разделяемых между потоками (безопасность потоков). Следовательно, такой код гораздо сложнее отлаживать, чем однопоточный код, когда он ломается.

Dota 2, как и многие игры, похоже, является одним из тех приложений, которые не используют преимущества SMP.

1

Вы видите 50% использования процессора на одном ядре? В Windows вы можете установить нечто, называемое сродством, которое, если установлено, говорит Windows о необходимости поддерживать процесс на одном или определенных ядрах. Возможно, один или несколько запущенных процессов имеют этот набор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .