Высокоточный таймер событий драйверы для этого устройства не установлены

Обновлено: 04.07.2024

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

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

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

screenshot_1

Стоит отметить, что слова не расходятся с делом, и отключение HPET действительно приводит к положительным изменениям в функционировании ПК. Но зачем тогда эта функция по умолчанию активируется производителем? Таймер изначально предназначался для старых операционных систем (Windows 7 и младше), в которых не была решена проблема задержки операций на программном уровне. В Windows 10 подобный вопрос не встает, а потому нет особого смысла в использовании HPET.

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

screenshot_2

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

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

Через BIOS или UEFI

BIOS (UEFA) – виртуальная среда компьютера, существующая параллельно с операционной системой. Обычно ее используют для решения проблем, связанных с работой ОС, но в то же время она помогает отключить HPET. Для выполнения операции вам потребуется:

  • Перезагрузить компьютер.
  • Во время следующего включения зажать клавишу «F2» или «Del» (зависит от производителя материнской платы).

screenshot_3

  • После попадания в BIOS перейти в раздел «Power Management Setup».
  • Отключить компонент «HPET Support».

screenshot_4

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

Командная строка

Откровенно говоря, отключение через BIOS – далеко не самый удобный вариант решения проблемы, поскольку владелец компьютера должен иметь хотя бы минимальное представление о работе вспомогательного меню. Поэтому можно рассмотреть альтернативный метод деактивации таймера, который предполагает использование стандартного интерфейса Windows 10:

  • Щелкните ПКМ по значку «Пуск».
  • Запустите Командную строку с правами администратора.

screenshot_6

  • Введите запрос «bcdedit /deletevalue useplatformclock».
  • Нажмите на клавишу «Enter».
  • Аналогичным образом обработайте команду «bcdedit /set disabledynamictick yes».

screenshot_7

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

screenshot_8

screenshot_9

Команды нужно вводить поочередно, нажимая после каждой на клавишу «Enter». Также по завершении операции рекомендуется перезагрузить компьютер, чтобы изменения вступили в силу.

Применение Диспетчера задач

Если способ с применением Командной строки тоже покажется вам сложным, в запасе останется самый простой вариант. В данном случае предлагается обратиться к одному из диспетчеров Windows 10, а точнее – к «Диспетчеру устройств»:

  • Кликните ПКМ по значку «Пуск».
  • Запустите «Диспетчер устройств».

screenshot_10

  • Раскройте вкладку «Системные устройства».
  • Найдите в списке «Высокоточный таймер событий» и откройте его свойства.

screenshot_11

Как в Windows 10 можно отключить высокоточный таймер событий или HPET

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

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

Как ускорить компьютер в играх? Отключите одну настройку

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

Опытом настройки ПК и инструкциями мы делимся регулярно в нашем Telegram-канале. Сегодня расскажем про то, как удалось разогнать связку из процессора Intel Core i5-9600KF, материнской платы Asus Prime Z390-P и видеокарты Sapphire Pulse Radeon RX 5700 XT.

Впрочем, тут стоит ещё проверить, изначально, включена ли та самая настройка у вас или уже деактивирована по-умолчанию. Отдадим почести парням из PRO Hi-Tech, после видео которых мы решили провести этот эксперимент на своей системе и поделиться результатами с нашими читателями.

Что такое HPET?

HPET (англ. High Precision Event Timer, таймер событий высокой точности) — тип таймера, используемый в персональных компьютерах. Совместно разработан Intel и Microsoft, и стал внедряться в чипсеты персональных компьютеров с 2005 года. Ранее назывался Intel как мультимедийный таймер (англ. multimedia timer). Название HPET было выбрано для исключения путаницы с программными таймерами, появившимися в Windows 3.0, которые также назывались Multimedia Timers.

Сегодня схема 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» (Высокоточный таймер событий), открываем контекстное меню по клику правой кнопкой мыши и деактивируем устройство.

Как ускорить компьютер в играх? Отключите одну настройку

Через сторонние твикеры/бенчмарки

Бонусом

Кроме того, у нас были ещё несколько статей об оптимизации системы для игр. Справедливость информации, описанной в них тоже стоит проверять для каждой конфигурации отдельно. Ознакомиться с ними можно по следующим ссылкам:

Или закинуть денег на зарплату авторам.

Или хотя бы оставить довольный комментарий, чтобы мы знали, какие темы наиболее интересны читателям. Кроме того, нас это вдохновляет. Форма комментариев ниже.


Отключение таймера HPET

Основная проблема в Windows с которой нам нужно бороться – это использование таймера HPET [?] , что уже создаёт лишнюю абстракцию, т.к. это является заменой стандартного таймера RTC [?] или того же HPET (реализаций много, это не так важно), который уже встроен во все современные материнские платы и является аппаратным. В этом и кроется проблема – Windows всё равно тянет одеяло на себя и использует свой программный таймер, так или иначе.

Изначально идея нового таймера здравая и хорошая – добиться более высокой точности для управления прерываниями [?] для мультимедийных программ, хотя у него и намного больше применений, в том числе он отвечает за счёт времени и многое другое. Но мы бы тут не собрались, если бы он работал так как задумывалось. Проблем таймер создаёт достаточно [Проблемы с HPET] . Если вкратце, то значение выдаваемое таймером должно быть строго фиксированным, но в виду своей странной реализации оно имеет плавающее значение и периодические меняется, из-за чего прерывания происходят в разное время, что и вызывает запоздания, а они в свою очередь микрофризы и микролаги, особенно это заметно при использовании игр или высоконагруженных приложений (рендер, обработка фотографий и т.п.).

Некоторые мультимедийные программы, а так же игры могут сами фиксировать данный параметр для увеличения плавности [?] , поэтому мы его сами зафиксируем на минимально возможном значении в 0.5ms , для всей системы в том числе.

‼️ Ни в коем случае не отключайте данный таймер в BIOS – там он должен быть включён для корректной работы системы в целом. В новых версиях BIOS подобная настройка включена по-умолчанию и зачастую её изменение не возможно. Подробную информацию как изменить параметры в BIOS можно найти в руководстве к материнской плате или в интернете.

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

Проверка активности таймера HPET с помощью BCDEdit

Если у вас нет значений useplatformtick и disabledynamictick или они установлены как No , то первым шагом для нас будет их отключение:

Пример правильного отключения таймера HPET в Windows:

Пример правильного отключения таймера HPET в Windows с помощью BCDEdit


Теперь, отключив таймер в Windows, нам надо зафиксировать его в значении 0.5ms – для этого необходимо использовать утилиту Intelligent Standby List Cleaner [скачать] . Здесь можно увидеть, что значение нашего таймера Current timer resolution постоянно изменяется, что не есть хорошо и именно это нам надо исправлять.

Пример не настроенного таймера в Intelligent Standby List Cleaner :

Пример не настроенного таймера в Intelligent Standby List Cleaner

Для правильной настройки необходимо установить следующие параметры:

  • Start ISCL minimized and auto-Start monitoring включено
  • Launch ISCL on user logon (TaskSheduler) включено
  • Enable custom timer resolution включено
  • Wanted timer resolution установлено в 0.50

Так же здесь можно настроить очищение системного кэша памяти [?] . Для этого необходимо изменить параметр Free memory is lower than , который отвечает за минимальное значение свободной памяти – оптимальным значением является размер вашей памяти разделённый на 2, после достижения которого кэш памяти будет очищен. Параметр The list size is at least отвечает за минимальный размер кэшированный памяти и его рекомендуется оставлять дефолтным - равным 1024 Mb .

Если лень считать

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

После настройки надо нажать Start и проверить зафиксирован ли таймер – значение Current timer resolution должно быть строго равно 0.5ms и не изменяться. Значение может обновится с задержкой!

Пример правильной настройки Intelligent Standby List Cleaner :

Пример правильной настройки Intelligent Standby List Cleaner



Включение MSI mode

А зачем нам ещё включать какой-то MSI mode [?] ? Всё очень просто, если раньше на одно устройство выделялось всего 4 прерывания [Страдания по IRQ] , то с помощью MSI стало возможным увеличить их до 32, что значительно ускоряет общение между устройствами.

Почти все последние драйверы, от нормальных производителей, используют изначально режим прерывания MSI , тем более это обязательное условие для PCI Express железок. Но для ускорения всей системы так же не лишним будет включение MSI и для USB Host Controller .

Для включения MSI mode мы будем использовать утилиту MSI Util v2 [скачать] . Ищем здесь нашу видеокарту и USB Host Controller (если по названию не получается найти, то в строке с именем так же указан Device ID ). Ставим галочку в столбце MSI , так же меняем Interrupt priority на Hight , после чего жмём кнопку Apply .

Пример настройки MSI с помощью MSI Util v2 :

Пример настройки MSI с помощью MSI Util v2

‼️ Нельзя устанавливать использование MSI mode для всех ваших устройств, иначе устройства могут работать не корректно.

⚠️ Данная настройка сбрасывается на дефолтное значение после обновления драйвера nVidia!



Продолжая тему прерываний, далее нам необходимо настроить приоритет прерываний для конкретно заданных устройств – этим в Windows занимается IRQL [?] . Проблема приоритизации всегда имеет место быть, т.к. каждое устройство считает себя важней остальных и это порождает некоторые проблемы [Проблемы IRQL] .

В качестве имени параметра мы используем IRQ***Priority , где *** надо заменить на IRQ (несколько цифр) нашей видеокарты и USB Host Controller .

✨ Для видеокарты рекомендуется ставить значение равным 1 , для USB Host Controller – значение 2 [Приоритеты IRQ] .



💡 Для дальнейшей настройки необходимо ознакомиться c Работа с реестром.

Следующим шагом после настройки приоритетов IRQL [?] необходимо указать приоритет для каких сервисов (в нашем случае драйверов) необходимо выполнять прерывания в первую очередь. Когда происходит прерывание, Windows, используя IRQL для определения приоритета прерывания, проверяет может ли прерывание обслуживаться в данный момент или нет, если условие выполняется, то приоритет потока начинает его выполнение. Всё что ниже по приоритету – ставиться в очередь. Таким образом мы зафиксируем критически важные сервисы, прерывания от которых необходимо обрабатывать в первую очередь.

✨ В качестве параметра установите значения равным 15 ( f ) (что соответствует Hight ), если система работает стабильно, то можно повысить приоритет установив параметр равным 31 ( 1f ) (что соответствует Realtime ) [Процессы и потоки в Windows] для nvlddmkm .



Распараллеливание драйверов по ядрам

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

Для этого нам понадобиться утилита Interrupt Affinity Policy Tool [скачать] .

Пример списка устройств в утилите Interrupt Affinity Policy Tool :

Пример списка устройств в утилите Interrupt Affinity Policy Tool

В этом списке надо найти свою видеокарту и USB Host Controller (название может не соответствовать, поэтому искать лучше по полю Location Info ), нажать Set Mask и выбрать ядро на которое будет назначен драйвер. Выбирать надо на любое ядро отличное от первого.

Пример установки ядра для драйвера устройства в утилите Interrupt Affinity Policy Tool

⚠️ На CPU, где включен Hyper-Threading [?] / SMT [?] , ядра и потоки в программе чередуются – CPU 0 - Ядро 1, CPU 1 - Поток 1, CPU 2 - Ядро 2, CPU 3 - Поток 2 и т.д., соответственно, чтобы выбрать третье ядро надо указать CPU 4 и CPU 5 . На CPU без Hyper-Threading / SMT ядра, само собой, указаны без потоков.

‼️ Нельзя переносить все драйверы на другие ядра, этим вы лишь можете добиться появления BSOD [?] !

⚠️ Данная настройка сбрасывается на дефолтное значение после обновления драйвера nVidia!

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

Как ускорить компьютер в играх? Отключите одну настройку

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

Опытом настройки ПК и инструкциями мы делимся регулярно в нашем Telegram-канале. Сегодня расскажем про то, как удалось разогнать связку из процессора Intel Core i5-9600KF, материнской платы Asus Prime Z390-P и видеокарты Sapphire Pulse Radeon RX 5700 XT.

Впрочем, тут стоит ещё проверить, изначально, включена ли та самая настройка у вас или уже деактивирована по-умолчанию. Отдадим почести парням из PRO Hi-Tech, после видео которых мы решили провести этот эксперимент на своей системе и поделиться результатами с нашими читателями.

Что такое HPET?

HPET (англ. High Precision Event Timer, таймер событий высокой точности) — тип таймера, используемый в персональных компьютерах. Совместно разработан Intel и Microsoft, и стал внедряться в чипсеты персональных компьютеров с 2005 года. Ранее назывался Intel как мультимедийный таймер (англ. multimedia timer). Название HPET было выбрано для исключения путаницы с программными таймерами, появившимися в Windows 3.0, которые также назывались Multimedia Timers.

Сегодня схема 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» (Высокоточный таймер событий), открываем контекстное меню по клику правой кнопкой мыши и деактивируем устройство.

Как ускорить компьютер в играх? Отключите одну настройку

Через сторонние твикеры/бенчмарки

Бонусом

Кроме того, у нас были ещё несколько статей об оптимизации системы для игр. Справедливость информации, описанной в них тоже стоит проверять для каждой конфигурации отдельно. Ознакомиться с ними можно по следующим ссылкам:

Или закинуть денег на зарплату авторам.

Или хотя бы оставить довольный комментарий, чтобы мы знали, какие темы наиболее интересны читателям. Кроме того, нас это вдохновляет. Форма комментариев ниже.

Читайте также: