У меня Asus 1025c с двухъядерным атомом с включенной гиперпоточностью. Когда я играю в игры, загрузка процессора всегда меньше 25% (1 ядро). Значит ли это, что игра (работает с одним потоком) занимает только половину мощности одного ядра? Итак, если я отключу HT-приложения, могу и буду занимать полную мощность одного ядра?

И, если это правильно, как я могу это сделать? BIOS в моем ноутбуке очень ограничен, есть линия для гиперпоточности (включена), но она не активна, поэтому я не могу ее отключить.

2 ответа2

2

В Windows XP (я думаю, Vista, 7 и 8 тоже) одноядерный процессор с гиперпоточностью, работающий в одном потоке при 100% -ной загрузке, показал бы 50% -ую загрузку ЦП в диспетчере задач Windows. Для экстраполяции это означает, что ваш компьютер, использующий двухъядерный процессор с HT, будет показывать 25%, когда одно ядро будет использовать 100% одним потоком; то есть, если ваша игра однопоточная, она будет использовать 100% ядра, что составляет 50% процессорного времени, но показывает только 25% загрузки.

Если вы отключите HT, однопоточная игра будет по-прежнему использовать ядро на 100%, что по-прежнему составляет 50% от ЦП, но фактически будет показывать 50% загрузки.

Во многих статьях показано, что включение HT в среднем повышает производительность, хотя существуют обстоятельства, что HT показывает снижение производительности. При этом самое большое преимущество отключения HT будет в том, что он будет чувствовать себя лучше, потому что будет выглядеть, как будто вы больше используете свой процессор. Психология через эффект плацебо сказала бы, что на самом деле это может создать впечатление, что есть выигрыш в производительности, потому что вы чувствуете, что используется в 2 раза больше процессора. Хотя многие могут не согласиться, то, как вы воспринимаете вещи, может иметь большее влияние, чем то, как на самом деле это происходит. Если это правда с тобой, то выключи HT! Снижение производительности будет минимальным.

Но если вы хотите придерживаться фактов, то отключение HT снизит производительность в среднем, независимо от того, что говорит измеритель ЦП, поэтому вы должны оставить его включенным.

Что касается того, можете ли вы включать и отключать HT на этом компьютере; Похоже, что в руководстве пользователя для вашего ноутбука нет ничего о том, какие опции в BIOS вы можете изменить. Вы можете попробовать обновить BIOS, чтобы увидеть, позволяет ли это переключать эту опцию. Кроме того, если вы не можете изменить настройки, вам в значительной степени не повезло.

1

Гиперпоточность - это просто способ, которым процессор (ядро) может передавать команды от нескольких потоков для одновременного выполнения в одном и том же ядре, когда он обнаруживает, что операции независимы и используют разные части конвейера. Думайте об этом как о создании виртуального ядра, которое может использоваться приложениями, работающими с использованием параллельных потоков. Насколько известно приложению, нет разницы между одноядерным процессором без HT и 8-ядерным процессором HT.

Чтобы приложение могло использовать несколько ядер или технологию HT, оно должно быть многопоточным, чтобы обеспечить параллельное выполнение кода. Это не тривиальная задача, и при разработке приложения таким образом необходимо учитывать множество вопросов. Например, если одному потоку нужно дождаться завершения другого потока, его необходимо вручную кодировать для всех таких операций. В этом случае необходимо следить за тем, чтобы оба потока не оказались в состоянии, в котором они ожидают друг друга.

Для таких вещей, как игры, часто не стоит заниматься этим детальным проектированием, и многие задачи, подходящие для параллельной обработки, такие как матричные операции, вместо этого выгружаются в графический процессор, что гораздо более подходит для этого типа операций, оставляя вам только одно ядро HT используется на основном процессоре.

Отключение нескольких ядер или HT - это вариант, который доступен для поддержки устаревших приложений, которые не работают (или вообще не работают) в настоящей многопоточной среде. Однако это просто приводит к отключению других ядер или отключению тех частей процессора, которые связаны с возможностями HT. Это не приведет к какому-либо увеличению производительности. Фактически можно гарантировать снижение производительности, потому что даже в вашем случае, когда игра использует только одно ядро, другие фоновые задачи могут выполняться на других ядрах. Если вы отключите это, то ваша игра будет замедлена операционной системой, разделяющей ядро, используемое вашей игрой, с другими фоновыми задачами в системе.

Изменить: также см. Этот вопрос. Планировщик задач Windows в основном должен убедиться, что, если один поток интенсивно использует ядро с многопоточностью, он не должен планировать много задач для использования другой виртуальной половины ядра. Это, однако, все еще покажет 50% использования, хотя эффективное использование может быть выше.

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