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, и попробовать разные настройки. Полученный результат будет зависеть от точного определения причины указанной проблемы.
Снижаем Input Lag во всех играх на Windows 10
Предупреждаю — данный гайд не избавит вас от проблемы полностью, но поможет снизить задержку ввода на Windows 10. Задержка ввода для меня — реальная головная боль, потому что преимущественно играю в шутеры. И когда негодованию не было предела я внезапно нашел решение на просторах Интернетов, которым с вами и решил поделиться.
Если вы не сталкивались с этой проблемой, не знаете что такое задержка ввода ( Input Lag ) — я вам завидую белой завистью.
«Потому что во многой мудрости много печали; и кто умножает познания, умножает скорбь». © Альберт Эйнштейн Екклесиаст.
Если вы играете на 144 герцовом мониторе и FPS ваш редко снижается до 144 кадров — этот гайд тоже может быть полезен. Потому что некоторые функций видеокарт и 10-ой Винды увеличивают задержку ввода. Это часто приводит в мультиплеерных играх к « ДА КАК ТАК-ТО?! Я ЖЕ ПЕРВЫМ СТРЕЛЯЛ! ».
Как снизить Input Lag
Если вы счастливый обладатель карточки от Nvidia — делаем следующее:
Правой кнопкой мыши на пустом месте рабочего стола → Панель управления NVIDIA (у АМД есть схожая опция в разделе «Дисплей»).
Идем в раздел, который называется «Регулировка размера и положения рабочего стола» и отмечаем галочками все как на моем скриншоте:
Наименьшая задержка ввода должна быть при следующих настройках: Не выполнять масштабирование изображения + Дисплей (а не ГП, как показано на моём скриншоте) с галочкой на пункте Замещение режима масштабирования, заданного для игр и программ . Но мы живём не в идеальном мире, поэтому протестируйте у себя оба варианта: Дисплей и ГП .
На 1903 и 1909 версиях Windows 10 с драйвером от версии NVIDIA 441.41 оптимально работают именно эти настройки. Если у вас видеокарта на архитектуре Pascal (10 серия) — рекомендую обновить Windows до 1909 и использовать драйвер NVIDIA 441.41. Если не лень — можете почитать об этой удачной связке на reddit .
Важное замечание: если после отключения масштабирования в панели управления NVIDIA будете использовать в игре пониженное или нестандартное разрешение экрана — по бокам дисплея появятся черные полосы.
Чтобы этого избежать выбирайте в панели управления NVIDIA опцию « Формат изображения» . В этом случае Input Lag частично вернется . Из двух зол выбирайте меньшее. Или отзывчивое управление или черная рамка по периметру изображения.
Теперь к следующему пункту, который нужно изменить в настройках операционной системы Windows 10
Чтобы долго не ковыряться в поисках нужного пункта меню 10-ой Винды, пишем в поисковой строке — «параметры фокусировки внимания»:
У вас откроется меню с настройками режима фокусировки внимания. Эта дичь, как ни странно. изрядно прибавляет управлению «кисельности». Поэтому мы отключаем все пункты, в соответствии с моим скриншотом ниже. Отметил красным цветом все, что следует выключить.
Следующие команды используйте на свой страх и риск! Шутка, ничего страшного не произойдет, если будут проблемы с работой мыши откатываем изменения и перезагружаем компьютер.
Сначала отключаем HPET в BIOS (как это сделать — ищем в интернете или в инструкции к своей модели материнской платы). Затем отключаем HPET в Windows.
Идём в диспетчер устройство и ищем следующее:
Далее, в командной строке, запущенной от имени администратора (важно!) прописываем поочередно следующие команды:
Если строчка useplatformclock отсутствует в результатах выдачи, то Hpet не определен. А это значит, что следующие шаги вам делать, скорее всего, не нужно . Впрочем, можете проикспериментировать.
then bcdedit /set useplatformclock true
Закрываем все приложения. Перезагружаем ПК.
Если стало хуже, чем было (тестируем в играх) — отменяем изменения.
И снова включаем HPET в диспетчере устройств. Перезагружаем компьютер.
Несколько универсальных способов уменьшения задержки ввода:
1. Отключайте Windows Defender перед тем как зайти в игру. Защита в реальном времени негативно влияет на отклик мыши.
2. В панели управления Windows и в панели управления NVIDIA выбирайте режим максимальная производительность.
3 . Отключите энергосберегающий режим для USB Input Device в диспетчере устройств Windows, см. скриншот ниже :
4. Отключите все ненужные украшательства в панели управления Windows:
Пуск → Панель управления → Система и Безопасность → Система → Дополнительные параметры системы → Вкладка «Дополнительно», Быстройдействие, Параметры → кликаем «Особые эффекты» и выключаем все, кроме «Вывод эскизов вместо значков», «Сглаживание неровностей экранных шрифтов» и «Сохранение вида эскизов панели задач», кликаем «Применить», закрываем вкладку, проверяем отзывчивость мыши.
5. Отключайте сглаживание в играх, если так называемые «лесенки» вас не сильно раздражают. Сглаживание заметно увеличивает нагрузку на видеокарту. Время вывода кадра увеличивается, fps падает, управление становится кисельным.
6. Не включайте вертикальную синхронизацию. В крайнем случае можно использовать GSync или FreeSync, если ваш монитор их поддерживает.
7. Не доводите загруженность видеокарты до 100%. Нагрузка на видеокарту в самых сложных сценах должна достигать максимум 95% — 98%. Внутриигровой fps limiter — ваш лучший друг . Если в конкретной игре такой опции нет — пользуйтесь лимитером SpecialK или RTSS.
8. Если вы пользуетесь мышкой от Logitech и фирменным программным обеспечением LGS — удалите данное ПО, но прежде чем это сделать — убедитесь, что не используете кастомную калибровку сенсора мыши. Если используете — сбросьте на дефолтные настройки. См. скриншот ниже:
По поводу программы Logitech HUB, которая пришла на смену LGS — ничего сказать не могу, не тестировал, но! Cкорее всего, это ПО вашей системе не нужно также, как и Logitech Gaming Software.
Обратите особое внимание: с RTSS задержка ввода будет чуть выше, + 0.5 — 1 кадр относительно SpecialK или внутриигрового ограничителя fps, НО за использование SpecialK может прилететь бан в онлайновой игре .
Отпишитесь, пожалуйста, в комментариях, помог ли вам этот гайд. И если помог — поделитесь ссылкой с друзьями. Всем четкого управления и комфортной игры.
Enabling HPET with Windows 10
Replies (9)
Thank you for posting your query in Microsoft Community. Let me help you.
Are you referring to High precision Event Timer?
What is the make and model of your computer?
I suggest you to check with your computer manufacturer customer support for queries related to adjusting the BIOS settings.
If you have any queries related to Windows Operating Systems, please feel free to contact us again. We will be happy to assist you further.
2 people were helped by this reply
Did this solve your problem?
Sorry this didn’t help.
Great! Thanks for marking this as the answer.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this response?
Thanks for your feedback.
Apologies I should have provided more detail.
I am referring to the High Precision Event Timer. There is conflicting information out there and I wanted to clarify something with respect to Windows 10 and how it handles this.
I am running Microsoft Windows 10 Professional Build 10586 on an SanDisk SSD with a
5 year old GIGABYTE P55A-UD4P motherboard; GIGABYTE GeForce GTX 460 GPU; 8GB Dual-channel DDR3.
When HPET (High Precision Event Timer) was enabled in BIOS, Windows 8.1 would automatically use it and install system device driver for it. Now I advice to disable HPET because even if you have it enabled in BIOS, Windows 10 won’t use it by default, but it will install the system device driver for it. That is GOOD news because Windows 10 finally switched to some other (new?) method of handling latencies and it works much better than HPET!
So the questions are as follows:
Does Windows 10 have its own implementation of the High Precision Event Timer superseding the built in HPET enabled in the BIOS of certain motherboards?
If that is the case then I will disable HPET.
If that is not true and Windows 10 can still use HPET, then I want to know if it has to be enabled both in the Bios and by modifying the Boot Configuration Data ( BCD ) store. Because in this post and others I have seen:
To enable it in Windows 10, with administrative priviledges you must modify BCD
bcdedit /set useplatformclock true
Thank you for taking the time to answer this question.