HPET был введен компаниями Intel и Microsoft в 2005 году. Это аппаратный таймер, который находится в пределах южного моста – компонента, отвечающего за связь процессора с жестким диском, видеокартой, оптическим приводом и другими устройствами для обеспечения максимальной пропускной способности.

Функции аппаратного таймера

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

В частности, задача HPET состоит в синхронизации мультимедийных потоков, обеспечении плавного воспроизведения аудио и видео в операционной системе и разгрузке таймеров процессора.

Симптомом неправильной работы HPET (или полного его бездействия) являются, например, регулярные секундные зависания Windows. Компьютер со временем начинает медленно работать. В такой ситуации следует задуматься над изменением параметров указанной функции.

Как сменить значение таймера и ускорить Windows

Сначала нужно определить, поддерживает ли ее в целом наша платформа. Здесь все просто – Windows Vista и новые версии поддерживают HPET, XP делает это частично, старые «окна» вообще не используют этот дополнительный таймер. В случае сомнений следует заглянуть в BIOS.

В дополнительных параметрах (Advanced) должна быть опция Configuration PCH или HPET Mode (название может немного отличаться в зависимости от версии BIOS и производителя материнской платы). Нам нужно найти High Precision Timer, ACPI HPET Table или похожее. Здесь можно ее включить или отключить.

Тем не менее Windows имеет тенденцию к перезаписи установленных параметров и использовать HPET, несмотря на настройки в Биосе. Поэтому после загрузки системы нужно открыть командную строку с правами администратора. Для ее вызова в Windows 10 кликните правой кнопкой на меню Пуск и выберите соответствующий пункт.

HPET сможете включить с помощью команды:

bcdedit /set useplatformclock true

Это единственный таймер, который активируется через Windows. Для его отключения используйте команду:

bcdedit /deletevalue useplatformclock

Тогда операционная система будет вынуждена использовать таймеры, встроенные непосредственно в процессор.

Важно: в этом обзоре речь не идет о том, что HPET должен быть полностью включен или выключен. Если вы столкнулись с проблемами зависания системы – медленно открываются программы или рывки в работе компьютера — то следует проверить, работает ли HPET, и попробовать разные настройки. Полученный результат будет зависеть от точного определения причины указанной проблемы.

Популярные статьи

  • Почему из продажи исчезают нетбуки? Куда они пропали?(5,00 из 5)
  • Как устроен ПК. Устройство компьютера кратко(5,00 из 5)
  • Как установить Autotune 8.1? Ошибка iLok(5,00 из 5)
  • Кабели Ethernet, типы LAN кабелей, CAT5, CAT6(5,00 из 5)
  • Как увеличить FPS в играх, отключив HPET?(4,90 из 5)
  • Износ компьютера. Причины износа компьютера(4,67 из 5)
  • Что лучше: Windows или Linux?(4,67 из 5)
  • Как установить MinGW 7.3.0 32bit для QT Creator 5.12.0?(4,60 из 5)

Категории

    Видеоуроки (1)
    Аудио (1)

Компьютеры и технологии (16)

    Базы данных (2) Полезное (6)

Программирование (7)

    QT Creator (2) Xcode и Swift (5)

Сети и Интернет (5)

    Безопасность (3)

Софт (1)

Свежие комментарии

Я ошибся, у меня всё равно иногда было меньше, пришлось…

Удивительно конечно! Рад, что помог хотя бы косвенно 🙂

Была такая ситуация, переустанавливал windows 7 один раз, когда комп…

Спасибо, подписывайтесь на рассылку! Будет ещё много интересных статей 🙂

хорошие заметки. спасибо!

Из твиттера

Рассылка

Как увеличить FPS в играх, отключив HPET?

Немногие знают, как можно увеличить FPS в играх, отключив HPET. В это статье разберём, что такое HPET и что будет, если отключить эту функцию, а также, безопасно ли это.

High Precision Event Timer (HPET) – высокоточный таймер событий

HPET – это тип таймера, который используется в ПК. Это непрерывно работающий таймер, который постоянно отсчитывает, т.е. работает не как одноразовое устройство, которое отсчитывает до нуля, вызывает одно прерывание и затем останавливается. Поскольку HPET сравнивает фактическое значение таймера и запрограммированное целевое значение на равенство, а не на «больше или равно», прерывания могут быть пропущены, если целевое время уже прошло, когда значение компаратора записывается в регистр микросхемы. Схема HPET в современных ПК интегрирована в чип южного моста.

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

Например, отрисовка видеокадра (video frame) на экране может быть выполнена, как только данные будут готовы и время кадра (frame time) достигнуто. Конечно, всё это делается за какие-то доли секунд и не замечается многими людьми.

Что будет если отключить HPET?

Отключение HPET позволяет осуществлять неограниченный ввод-вывод и приводит к очень сырому и чрезвычайно отзывчивому соединению между вами и вашей машиной. Это также удаляет микро заикания и подвисания экрана.

1000 секунда = 1 миллисекунда
HPET ON: задержка между 100-150 мс
HPET OFF: задержка между 5-15 мс

Выходит, что с включённой функцией таймера HPET происходит потеря 3-4 кадра в секунду, соответственно, с выключенной функцией снижается вероятность «зависания».

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

Увеличится ли fps в играх и приложениях при отключении hpet?

Отключение этого параметра (даже через командную строку) может существенно повлиять на производительность в играх и приложениях. В некоторых случаях ваш FPS может сильно увеличиться (например, с 30 до 100).

Безопасно ли отключать HPET?

Да, это абсолютно безопасно. Это ничего не повредит и не приведёт к нежелательным побочным эффектам. Вы всегда сможете вернуть всё обратно.

Есть мнение, что даже необходимо отключить HPET, так как компьютер не использует этот аппаратный компонент активно и не делает ничего полезного, он просто сидит и тормозит процессор. Сняв вес с вашего процессора, он будет быстрее, и ваш компьютер в целом будет работать более плавно, что будет в основном заметно в играх, но также и в любой задаче, которую вы выполняете на своём компьютере. Это улучшит работу ПК, не оказывая негативного влияния.

При отключении HPET могут ли быть проблемы в онлайн играх?

К сожалению, вас могут заподозрить в использовании читов (возможно, но не факт), поэтому будьте осторожны, отключайте на свой страх и риск.

Если, отключив HPET, увеличивается фпс, то зачем вообще его нужно включать? И зачем тогда он включен по умолчанию?

Это было лучше для более старых ОС, для звуковых карт PCI с низкой задержкой или интерфейсов захвата и т. д. Для игр это увеличивает накладные расходы и, как правило, даёт меньше FPS.

Как отключить HPET?

Способ 1. Через BIOS или UEFI

Очень часто таймер можно отключить через BIOS или UEFI, найдя, к примеру, функцию HPET Support или High Precision Event Timer (название может немного отличаться, в зависимости от вашей материнской платы):

Способ 2. Через командную строку

В Windows 10 также можно отключить HPET через командную строку от имени администратора после ввода следующих команд:

bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes

Чтобы внести изменения необходимо перезагрузить компьютер.

Если вы хотите повторно включить HPET, используйте следующие команды:

bcdedit /set useplatformclock true
bcdedit /set disabledynamictick no

Способ 3. Используя диспетчер задач Windows

Отключить HPET можно воспользовшись диспетчером устройств, найдя таймер в системных устройствах и отключив, зайдя в свойства:

Нужно ли отключать HPET?

Я никому не говорю, нужно ли вам включить или отключить HPET, так как это может иметь разные эффекты в зависимости от вашего оборудования. Конечно, я не гарантирую, что это что-то изменит для всех и приведёт к колоссальному росту производительности. В некоторых случаях ваша система с отключением HPET можно начать работать менее стабильно (либо могут появиться дополнительные проблемы), а в некоторых более отзывчиво, поэтому нужно наблюдать за этим, если вы решите отключить таймер. В любом случае необходимо разумно отключать или включать какие-либо параметры или функции и следить за тем, как после этого стал работать ваш ПК, это касается всего, не только HPET.

Что значит HPET Mode? HPET mode 32 или 64 что выбрать?

Если вы включили таймер, то в некоторых случаях вы сможете выбрать mode 32-bit или 64-bit, данная опция всего-навсего уточняет режим работы счётчиков: 32-разрядный или 64-разрядный. Если у вас установлена 32-разрядная система, то выбирайте 32-bit mode, а если 64-разрядная, то 64-bit mode.

Внимание пользователей ноутбуков

Отключение HPET, уменьшение разрешения таймера в Windows 10 приведет к увеличению расхода батареи. А как сохранить батарею ноутбука и увеличить продолжительность его работы читайте в моей статье.

Причина проблемы – неверная реализация таймера HPET на некоторых материнских платах. Вероятно, с патча 1.53 игра стала чаще использовать функции ОС для запроса состояния таймера (API QueryPerformanceFrequency/QueryPerforman ceCounter). В результате, на тех компьютерах, где ОС использует таймер HPET, возникли трудновоспроизводимые проблемы с производительностью графики и т.п.
Скорее всего, проблема чаще всего возникает на ОС Vista и выше т.к. Windows XP обычно не использует HPET.

Для решения проблемы на клиентах нужно отключить использование HPET. На Windows Vista, 7, 8 и 10 это делается следующим образом:
– Меню "Все программы-Стандартные-Командная строка", нажать правой кнопкой , выбрать "Запуск с правами администратора". Если откроется диалоговое окно с подтверждением, нажать "Да".
– Набрать команду:
bcdedit /set useplatformclock false
– Должна появиться надпись "Операция успешно завершена"
– Перезагрузить компьютер

На компьютерах с Windows XP придется заходить в BIOS компьютера, искать опцию типа "Use HPET" и выключать ее.

Проблема может быть решена полностью со стороны разработчиков, если игра перестанет использовать QueryPerformanceCounter. Пока это не сделано – пользуемся данным решением.

https://forum.warthunder.ru/index.php?/topic/165465

Отдельно отмечу – помогло именно отключение через команду. На биос нет реакции.
Работает до 2 ребута на win 10 (не путать с выключением)