Hpet windows 10 что это
HPET: что это и как с его помощью оптимизировать Windows
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, и попробовать разные настройки. Полученный результат будет зависеть от точного определения причины указанной проблемы.
Как ускорить компьютер в играх? Отключите одну настройку
Осмысленная настройка опции HPET в Windows 10 может значительно влиять на увеличение или уменьшение производительности вашей системы в играх и работе. Рассказываем, как проверить и оттюнить свой ПК.
Если количество кадров в секунду вас уже не устраивает, и посещают мысли, что пора бы менять видеокарту или процессор для улучшения производительности в играх — мысли эти, безусловно, правильные. Но для начала можно попробовать заняться оптимизацией настроек системы. Удивительно, но иногда они дают заметный результат. Хотя, тут, как это часто бывает в мире ПК, рецепт сработавший на одной конфигурации, стоит проверять затем на каждой конкретной — новый результат может оказаться немного иным.
Опытом настройки ПК и инструкциями мы делимся регулярно в нашем Telegram-канале. Сегодня расскажем про то, как удалось разогнать связку из процессора Intel Core i5-9600KF, материнской платы Asus Prime Z390-P и видеокарты Sapphire Pulse Radeon RX 5700 XT.
Впрочем, тут стоит ещё проверить, изначально, включена ли та самая настройка у вас или уже деактивирована по-умолчанию. Отдадим почести парням из PRO Hi-Tech, после видео которых мы решили провести этот эксперимент на своей системе и поделиться результатами с нашими читателями.
Что такое HPET?
Сегодня схема HPET интегрирована в чип южного моста. Если ранее можно было управлять HPET через BIOS, то современные версии уже в большинстве случаев не дают такой настройки. К старым операционным системам в данном случае стоит относить от Microsoft те, что вышли раньше Windows 7.
Может случиться, что HPET активна на аппаратном уровне и одновременно включена в Windows. Отключение её в системе может сказаться на производительности.
Тестирование и сравнение
Для проверки теории использовали встроенный бенчмарк Metro Exodus, выбрав Extreme-профиль настроек графики, DirectX11 и разрешение 1920×1080 пикселей. Слева направо результаты с выключенным параметром HPET и затем включённым.
Кроме того, прогнали тест в бенчмарке TimerBench 1.3.3.
HPET активна. Здесь уже для бенчмарка выбрали разрешение 3840×2160 пикселей.
Те же условия, но HPET деактивирована.
Как отключить/включить HPET?
Мы нашли 3 способа.
1. Через командную строку Windows
Запустите командную строку от имени администратора. Открываем меню пуск, набираем с клавиатуры «cmd», выбираем администраторский вариант.
Чтобы отключить введите команды:
bcdedit /set disabledynamictick yes
Чтобы заново включить используйте:
bcdedit /set disabledynamictick no
Через диспетчер устройств
Используем сочетание клавиш Win+Break, затем в открывшемся окне выбираем ссылку «Диспетчер устройств». В разделе «Системные устройства» находим «High Precision Event Timer» (Высокоточный таймер событий), открываем контекстное меню по клику правой кнопкой мыши и деактивируем устройство.
Через сторонние твикеры/бенчмарки
Мы использовали TimerBench 1.3.3, который позволяет управлять HPET через свой интерфейс. У вас тоже появится такая возможность, если решите проверить работу на своей системе и сравнить результаты до и после. Скачать приложение можно по ссылке.
Бонусом
Кроме того, у нас были ещё несколько статей об оптимизации системы для игр. Справедливость информации, описанной в них тоже стоит проверять для каждой конфигурации отдельно. Ознакомиться с ними можно по следующим ссылкам:
Тогда можно поддержать её лайком в соцсетях. На новости сайта вы ведь уже подписались? 😉
Или закинуть денег на зарплату авторам.
Или хотя бы оставить довольный комментарий, чтобы мы знали, какие темы наиболее интересны читателям. Кроме того, нас это вдохновляет. Форма комментариев ниже.
Что с ней так? Своё негодование вы можете высказать на zelebb@gmail.com или в комментариях. Мы постараемся учесть ваше пожелание в будущем, чтобы улучшить качество материалов сайта. А сейчас проведём воспитательную работу с автором.
Если вам интересны новости мира ИТ также сильно, как нам, подписывайтесь на наш Telegram-канал. Там все материалы появляются максимально оперативно. Или, может быть, вам удобнее «Вконтакте» или Twitter? Мы есть также в Facebook.
Как увеличить 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 windows 10 что это
Отключение таймера HPET
‼️ Ни в коем случае не отключайте данный таймер в BIOS – там он должен быть включён для корректной работы системы в целом. В новых версиях BIOS подобная настройка включена по-умолчанию и зачастую её изменение не возможно. Подробную информацию как изменить параметры в BIOS можно найти в руководстве к материнской плате или в интернете.
Пример правильного отключения таймера HPET в Windows:
Пример не настроенного таймера в Intelligent Standby List Cleaner :
Для правильной настройки необходимо установить следующие параметры:
⚠️ Во избежание дополнительных микрофризов при очищении кэша памяти, если у вас её мало или же её очень активно используют программы, данную настройку лучше протестировать с разными параметрами и найти оптимальную для вашего сценария использования.
После настройки надо нажать Start и проверить зафиксирован ли таймер – значение Current timer resolution должно быть строго равно 0.5ms и не изменяться. Значение может обновится с задержкой!
Пример правильной настройки Intelligent Standby List Cleaner :
Включение MSI mode
Пример настройки MSI с помощью MSI Util v2 :
‼️ Нельзя устанавливать использование MSI mode для всех ваших устройств, иначе устройства могут работать не корректно.
⚠️ Данная настройка сбрасывается на дефолтное значение после обновления драйвера nVidia!
💡 Для дальнейшей настройки необходимо ознакомиться c Работа с реестром.
Следующим шагом после настройки приоритетов IRQL [?] необходимо указать приоритет для каких сервисов (в нашем случае драйверов) необходимо выполнять прерывания в первую очередь. Когда происходит прерывание, Windows, используя IRQL для определения приоритета прерывания, проверяет может ли прерывание обслуживаться в данный момент или нет, если условие выполняется, то приоритет потока начинает его выполнение. Всё что ниже по приоритету – ставиться в очередь. Таким образом мы зафиксируем критически важные сервисы, прерывания от которых необходимо обрабатывать в первую очередь.
Распараллеливание драйверов по ядрам
Самое сложное осталось позади и теперь мы будет освобождать первое ядро, куда Windows зачем-то добавляет почти все драйверы. Этим мы с одной стороны разгрузим ядро, а с другой так же уменьшим задержки.
✨ При использовании утилиты будут периодически появляться сообщения об ошибке – их можно спокойно игнорировать, т.к. программа давно не обновлялась и на работу программы они никак не влияют.
Пример списка устройств в утилите Interrupt Affinity Policy Tool :
В этом списке надо найти свою видеокарту и USB Host Controller (название может не соответствовать, поэтому искать лучше по полю Location Info ), нажать Set Mask и выбрать ядро на которое будет назначен драйвер. Выбирать надо на любое ядро отличное от первого.
⚠️ Данная настройка сбрасывается на дефолтное значение после обновления драйвера nVidia!
Последствия совместных усилий Intel и Microsoft по внедрению HPET спустя 16 лет
Предисловие
реклама
Еще в далеком 2005 году Intel и Microsoft ввели таймер который аппаратно реализован в южном мосте, он еще в давние времена доставлял проблемы, но прошло 16 лет, южный мост, как и северный перекочевал в процессор (AMD Ryzen), а Intel всё никак не осилит подобную интеграцию, и я решил проверить что в итоге получилось.
Естественно сам по себе я не стал бы даже смотреть в сторону HPET, просто потому что про него подавляющее большинство пользователей даже не думают, однако при исследовании бенчмарков CPU-Z и Cinebench было очень много критики в стиле «тесты не тесты», «автор бред несет» и тому подобное, и среди этого потока были разговоры про тот самый HPET.
Именно данной статьей поставлю точку, влиял ли HPET установленный по умолчанию на результаты моих предыдущих тестов, или нет.
Настройка HPET в BIOS и Windows
реклама
На системных платах AM4 всегда есть настройка для управления HPET (я еще не видел платы AM4 без такой настройки), и по умолчанию он включен.
Другое дело система на основе Intel, в биосе ASRock B560M-HDV нет и намека на HPET, я пересмотрел все скриншоты сделанные для обзора системной платы, потом я вручную каждый раздел передергал в биосе и не обнаружил настройку HPET.
Такое ощущение, что Intel запретили производителям системных плат трогать HPET и давать возможность пользователям его настраивать.
реклама
Так как Intel совместно с Microsoft разрабатывали HPET то может в операционной системе Windows можно управлять HPET? Как оказалось и тут обычному пользователю запретили прикасаться к таймеру, нет никакой доступной кнопки для управления таймером, но есть консольные команды с помощью которых можно кое-как управлять таймером.
Нужна перезагрузка после изменения параметров чтобы был эффект!
Следующие команды нужны чтобы отключить HPET:
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
реклама
И включить обратно:
bcdedit /set useplatformclock true
bcdedit /set disabledynamictick no
Очевидно что без знания нужных команд ни один человек не сможет отключить HPET через командную строку.
Но есть и более простой метод отключения HPET, через диспетчер устройств куда большинство людей тоже не зайдет, чтобы найти заветную «галочку» для управления HPET.
Влияние на результаты тестов
Сначала R7 2700X с отключенным CCX и включенным HPET как в BIOS так и системе, потом R7 2700X (1CCX) с отключенным в Windows HPET, далее R7 2700X (1CCX) с отключенным HPET в BIOS и Windows.
На системе от Intel судя по всему запрещено трогать HPET на уровне BIOS, потому я имел возможность только в Windows его отключать.
Частота процессоров зафиксирована на уровне 3.9 ГГц, в планах электропитания задано минимальное состояние ЦП 100%, правда i3-10105F судя по всему игнорировал эту настройку и в простое держал частоту на уровне базовых 3.7 ГГц.
Память два канала двухранговая 3200 МГц, субтайминги взяты от 2666 МГц на обеих системах, первичные 18-20-18-36.
После каждого изменения состояния HPET я делал перезагрузку системы.
Cinebench 15
Cinebench 20
Cinebench 23
CPU-Z 1.96
Rage 2 (Vulkan API)
Я не рассчитывал делать тесты игр, да и видеокарты разные установлены в системах Intel и AMD, но я решил проверить на всякий случай будет ли разница от HPET в играх, ибо в бенчмарках я не заметил особых отклонений.
Видеокарта RX 560 конечно показывала полную загруженность, однако разница FPS более чем очевидна, я несколько раз перезапускал игру чтобы наверняка не было погрешности, но нет, FPS со включенным HPET всегда получался выше.
К системе от AMD я сейчас не имею возможности подключить видеокарту с дополнительным питанием из-за отсутствия проводов у блока питания, а RX 560 требует дополнительное питание, потому я ограничусь просто таким фактом на данный момент.
Заключение
Не знаю как фанаты своих «лагерей», но я теперь спокоен, результаты тестов не были искажены таймером HPET, разница есть, но она скорее на уровне погрешности в отличие от разницы в пользу Intel при переходе на новые версии Cinebench.
Занижение результатов AMD уже в третий раз подтвердилось начиная с версии Cinebench 20 в которую добавили библиотеки от Intel.
А вот в игре Rage II разница от HPET на платформе Intel получилась значительна и на погрешность списать невозможно, но тут нужны более тщательные сравнительные тесты, пока что есть только факт более высокого FPS при включенном HPET на платформе от Intel.