Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Если вы увлекались киберспортом или оптимизацией Windows, то наверняка слышали о влияние высокоточного системного таймера HPET на общую производительность ПК. Но знаете ли вы, что, начиная с Windows 10 22H2 и Windows 11, компания Microsoft изменила классическую логику работы системного таймера, и прошлые команды, которые ранее позволяли существенно повысить производительность, более не работают. В этом небольшом материале вы узнаете, как исправить эту проблему и вернуть привычное поведение системного таймера HPET/TSC в новых версиях Windows, существенно ускорив работу своего компьютера.
Чтобы не нагружать вас лишней технической информацией, достаточно будет сказать, что ранее отключение или изменение значений системного таймера HPET глобально влияло на все процессы в Windows, существенно повышая отклик и плавность работы приложений и игр. Теперь же частота прерывания системного таймера HPET/TSC не функционирует на глобальном уровне ОС и не зависит от других процессов. Короче говоря, таймер теперь работает лишь для запущенных на переднем фоне приложений и не может опускаться ниже принудительно заданных значений, что существенно ломает многие старые игры и не позволяет пользователю добиться былой производительности. Подробнее почитать про всё это вы можете, перейдя по ссылке.
1. Нажимаем Win+R и вводим команду regedit. В появившемся окне переходим в раздел kernel и создаём новый параметр Dword32 с именем GlobalTimerResolutionRequests и значением 1 в шестнадцатеричной системе счисления. Или воспользуйтесь заранее уже готовым файлом с нужными настройками.
2. Нажимаем правым кликом мыши на «Пуск» и выбираем «Диспетчер устройств». Для отключения HPET и активации таймера TSC мы должны в разделе «Системные устройства» отключить «Высокоточный таймер событий» иногда он подписан как High Precision Even Timer. Правый клик мыши>>»Отключить устройство».
3. Теперь нам осталось только ввести команды для отключения встроенного программного таймера Windows и технологии экономии электроэнергии для ноутбуков. Вновь нажимаем Win+R и вводим команду CMD.
В появившемся окне вводим команды:
bcdedit /set disabledynamictick yes
bcdedit /set useplatformtick yes
bcdedit /set useplatformclock false
bcdedit /deletevalue useplatformclock
После перезагрузки ПК вы сразу почувствуете разницу в отклике Windows и плавности работы мыши. Однако, чтобы ещё сильнее ускорить работу компьютера, необходимо принудительно зафиксировать значения системного таймера TSC на минимальных значениях.
4. Выполним установку системной службы Windows, отвечающей за минимальное значение системного таймера.
- Скачиваем и извлекаем папку архива в корень любого диска.
- Переходим в папку установщика и запускаем не от имени администратора файл Installer.bat.
- В появившемся окне выбираем желаемый таймер. Я советую 2 или 4.
- Дожидаемся окончания установки. (После установки не удалять папку установщика).
- Проверяем значение таймера, нажав 8.
- Если всё прошло успешно, то значение системного таймера будет равняться 0.5 мс.
Если вы заметили отрицательный эффект от отключения системного таймера HPET, то удалите в реестре Windows запись GlobalTimerResolutionRequest и вновь включите «Высокоточный таймер событий» в «Диспетчере устройств». Не забыв удалить системную службу таймера и ввести в cmd следующие команды:
bcdedit /deletevalue disabledynamictick
bcdedit /deletevalue useplatformtick
Вот, собственно, и всё! Всего за пару не хитрых шагов мы исправили оплошность корпорации Microsoft, вернув себе классическое поведение системного таймера Windows, существенно ускорив работу приложений и игр. Не говоря уже о самой ОС. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!
Я провёл дополнительное тестирование в новых играх, используя Windows 10 версии 22H2 (1945.3636). И могу с уверенностью утверждать, что принудительное отключение высокоточного системного таймера HPET позволяет добиться лучшей производительности не только в старых, но и в новых играх. Например, дважды прогоняя встроенный бенчмарк Cyberpunk 2077, отчётливо видна разница в минимальном и среднем FPS. Не говоря уже про отсутствие эффекта «Желе». Миф подтверждён: HPET следует принудительно отключать для максимальной плавности в играх и рабочем ПО!
Сейчас на главной
Новости
Публикации
Обнаружение паука в жилом помещении нередко вызывает инстинктивное
желание взять тапок и немедленно его прихлопнуть. Однако такой подход упускает из виду важную
экологическую роль, которую эти…
Как правильно развесить рыбу для сушки — головой вверх или
вниз? Вопрос не праздный, ведь от этого зависят не только вкус, но и
сохранность продукта. Скажу прямо: для непотрошёной рыбы…
Чёрные дыры — эти таинственные и всепоглощающие объекты — будоражат воображение не только учёных, но и каждого, кто хоть раз задумывался о безграничности космоса. Само…
Когда речь заходит о самых дорогих продуктах на планете, в воображении сразу всплывают трюфели, шафран, мраморная говядина… Но мало кто догадывается, что один из главных претендентов на…
Изящные розовые птицы, застывшие на одной ноге в зеркальной глади соленого озера, — картина почти медитативная. Кажется, будто фламинго, опустив свои причудливо изогнутые шеи и головы в…
Модель часов «Танк» от часовой компании Слава сегодня, на мой взгляд, несколько теряется в основном ассортименте, чему, кстати, есть логичное объяснение. Поэтому сделать на ней небольшой…
Why Disable HPET?
While HPET is an extremely precise timer (14.32MHz) which in theory would mean that it would perform the best, in practice when tuning your system for gaming it seems that HPET is too precise bogging down your machine.
Gaming seems to benefit from comparatively less precise but more stable and consistent timers and ticks (TSC 3.32MHz) that have a beneficial impact on your percentiles and low FPS. In short, the level of precision HPET offers is not needed when gaming and will result in worse performance overall.
How to Disable HPET?
To get rid of HPET you need to open CMD with administrator privileges and type – bcdedit /deletevalue useplatformclock and then restart your machine. This will disable HPET on your machine, and to test that the changes took effect you can either use the bcdedit/enum command (no value for useplatformclock) or use TimerBench (pictured above) which gives you a more beginner-friendly interface.
As explained in this clarification post you do not need to disable HPET in the BIOS or Device Manager because those changes either do nothing or cause issues by enabling outdated system timers.
Once off, your system will use a TSC clock and you will need to then select between running RTC or TSC ticks, TSC sync policy, etc.
Most custom Windows 10/11 builds already have HPET off so if you get an error message after putting in the command it simply means that HPET was already disabled.
Choosing Between TSC & RTC Ticks
Your system clock has already been put in place (TSC) which means the next important component is to figure out the system tick. You can find more information about the system ticks in the clarification post but the short answer is that you will need to test both ticks (TSC+RTC vs TSC+TSC) to see which one runs better on your system.
RTC is an outdated tick that is not dynamic and has no optimizations which might decrease your system performance and conflict with high polling rate mice. RTC is recommended for unoptimized systems or people who just want the process to be as short as possible without further testing.
Most tuned systems should run TSC+TSC since it is a higher precision timer resolution compared to RTC which was intended for legacy applications (still lower precision than HPET clock).
How to Disable Dynamic Tick
Dynamic tick is a power-saving feature enabled on laptops that helps them preserve battery life. If you are aiming for the best possible performance and inputs such a feature being enabled is counterproductive.
To disable dynamic tick open CMD with administrator privileges and use the command – bcdedit /set disabledynamictick yes. Restart your machine afterward and you should be set (check with bcdedit /enum).
Adjusting Your Windows Timer Resolution
To take full advantage of the bcdedits you have done you need to manually adjust your system’s timer resolution. To do so you can use a simple utility like Memory Cleaner set to your desired timer resolution.
The reason you would do this is because Windows by default runs 15ms on idle and 1ms when you need higher precision for timer resolution values. You can achieve higher precision by using a manual micro-adjusted timer resolution as explained here and test the values using the MeasureSleep utility.
Values used: 5070 – 10000 – 5000
Your Windows timer resolution will behave differently depending on what tick you have chosen to use (RTC/TSC) therefore the values you will settle on will be different. If your system is set up correctly you should be able to achieve 1ms sleep delays with low deltas.
-
Home
-
News
- How to Disable HPET to Improve Game Performance in Windows 10/11?
How to Disable HPET to Improve Game Performance in Windows 10/11?
By Aurelie | Follow |
Last Updated
HPET is an inbuilt tool in Windows which can be used to synchronize multimedia and provide smoother playback for your computer. However, if you turn it on when gaming, this tool will take away the precious calculation power of CPUs and severely hurt game performance. Therefore, you’d better disable it. In this article on MiniTool Website, you’ll know two ways to disable it.
What Is HPET on Windows 10 and Windows 11?
HPET is short for High Precision Event Timer which is often used for synchronizing multimedia streams, reducing the need to use other timestamp calculations, and smoothing the playback.
However, although HPET can increase the performance of your PC, it triggers FPS loss and latency & freezes in games. If you encounter low FPS or stuttering when gaming, you can try to disable HPET to get better game performance. Some of you might ask, “Is it safe to disable HPET on Windows 10 and 11?” The answer is absolutely yes. In this post, we’ll show you two ways to disable HPET. Without further ado, let’s dive right in.
Tip: Most Windows 10/11 builds disable HPET by default so if you receive a error message after trying the two methods below, don’t worry. It just means that the HPET utility on your PC was already turned off.
How to Disable HPET Windows 10/11?
# Way 1: Disable HPET via CMD
You can disable HEPT to reduce game stuttering by using the CMD command. Here’s how to disable HPET Windows 10/11:
Step 1. Press Win + S at the same time to evoke the search bar.
Step 2. Type cmd to locate Command Prompt and do a right-click on it to choose Run as administrator.
Step 3. Copy & paste the following command and tap on Enter to disable DPET.
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
Step 4. Reboot your computer to make this change effective.
Tip: If your Command Prompt stops working, you can see help from this guide – [Fixed] Command Prompt (CMD) Not Working/Opening Windows 10.
# Way 2: Disable HPET via Device Manager
Another easy way to disable High Precision Event Timer is using Device Manager Settings. To disable HPET Windows 11/10 in this way:
Step 1. Do a right-click on the Windows icon and choose Device Manager in the drop-down menu.
Step 2. Expand System devices, locate High precision event timer and right-click on it.
Step 3. In the drop-down menu, choose Disable device.
Step 4. Press Yes in the warning message to confirm this action.
Other related articles you might be interested in:
# Here Are 10 Tips to Optimize Windows 10 for Gaming
# Two Gaming Features – How to Optimize Windows 11 for Gaming
Final Words
By now, you must get a full picture of what HPET is and how to disable HPET. Try them to see whether the methods mentioned above work properly for you or not. If you have problems or come up with other creative ideas, please feel free to leave a comment below.
About The Author
Position: Columnist
Aurelie is a passionate soul who always enjoys researching & writing articles and solutions to help others. Her posts mainly cover topics related to games, data backup & recovery, file sync and so on. Apart from writing, her primary interests include reading novels and poems, travelling and listening to country music.
Предисловие
Еще в далеком 2005 году Intel и Microsoft ввели таймер который аппаратно реализован в южном мосте, он еще в давние времена доставлял проблемы, но прошло 16 лет, южный мост, как и северный перекочевал в процессор (AMD Ryzen), а Intel всё никак не осилит подобную интеграцию, и я решил проверить что в итоге получилось.
Естественно сам по себе я не стал бы даже смотреть в сторону HPET, просто потому что про него подавляющее большинство пользователей даже не думают, однако при исследовании бенчмарков CPU-Z и Cinebench было очень много критики в стиле «тесты не тесты», «автор бред несет» и тому подобное, и среди этого потока были разговоры про тот самый HPET.
Именно данной статьей поставлю точку, влиял ли HPET установленный по умолчанию на результаты моих предыдущих тестов, или нет.
Ссылку на тестирование Cinebench где Intel получал больше преимущества чем AMD с каждой версией оставлю здесь: Повторное тестирование Cinebench — занижение результатов AMD и возможная подмена версии
Настройка 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.
P.S. При создании пародий и сравнений на основе результатов из статьи попрошу указывать ссылку на данный оригинал.
На этом все, благодарю за внимание.
Telegram-канал @overclockers_news — теперь в новом формате. Подписывайся, чтобы быть в курсе всех новостей!
You are here: Home/ Windows/ How To Improve Gaming Performance By Disabling HPET Settings?
If you face FPS drops and stuttering, you can try changing the HPET settings to increase the performance of your PC and get smoother gameplay.
HPET stands for High Precision Event Timer (formerly Multimedia Timer) and has been used in PCs for a long time. It is used to produce periodic interrupts, which can be used to synchronize multimedia streams, in turn, providing smoother playback. It also reduces the need for other timestamp calculations. Performance of PC can also be increase by enabling Win32 Priority Separation which you can read here.
We have shown a VIDEO walk through at the end of the post for easy solution.
Brief History Of HPET
Many gamers have pointed out on forums that the HPET bug is causing problems in the gaming performance in certain situations.
The reason for this is pretty simple. Earlier when CPUs had less clock speed and games did not use multithreading in an efficient way, the usage of HPET to retrieve incremental timestamp counter took away precious calculation power of the CPUs and significantly hurt gaming performance.
- But now that the games are efficiently using multithreading and the bottleneck of the 3D performance has shifted to the GPU, and the impact of the event timers reduced. However, game developers started using a lot of timestamp queries to measure performance for animations and movements.
How HPET Affects Gameplay?
The problem has arisen because of a very slow timer interpretation of the HPET on today’s high-performance rigs. The impact of slow HPET depends on actual usage of the timer functions in the game engine and the hardware used.
You can notice the HPET bug causing stutters in gameplay if you run a not graphics heavy game on an overpowered GPU.
Disabling HPET removes the micro-stuttering and screen tearing that may occur during gameplay. It allows unrestricted input-output to occur. This results in a very raw and extremely responsive connection between you and your PC.
- You can sense around 0.1 to 0.15ms delay with HPET on while turning it off can gain you around 3-4 FPS. This may not seem much for day to day use. But with gaming, imagine the FPS drop for every action piling up; this leads to micro-stuttering that is observed during gameplay.
How To Disable HPET?
If you suffer the same issue of HPET causing game lags, here I’ll show you 2 methods to disable HPET.
# Method 1 (Using Device Manager)
You can use the device manager to disable the High Precision Event Timer. I’ll show you how to use device manager settings to disable HPET.
- From search, type Device Manager and press Enter to open settings.
- Locate System devices.
- Right click on High Precision Event Timer and select Disable to stop the HPET service.
Now you know how you can use this simple method to disable HPET using Device manager settings.
I will now show you another method to disable the HPET.
# Method 2 (Using Cmd)
You can also use the cmd to stop the HPET and reduce gameplay stuttering. Follow the steps to disable HPET using cmd
- From Search, enter cmd and select Open as administrator.
- Type the following commands to disable HPET
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
- Restart the PC for the changes to take place.
- Note: In Windows 10, you must use cmd as an admin to make changes to the HPET.
To restore the HPET settings back to on, follow these steps
- Open cmd as Administrator using the steps given above.
- Type the following commands to re-enable HPET
bcdedit /set useplatformclock true
bcdedit /set disabledynamictick no
- Note: disabledynamictick works only on Windows 8.1, 10 or newer.
Conclusion
If you are unsure about the HPET affecting your gameplay, I suggest you run benchmarks on your own system instead of believing others. There is a variety of tools available online that can help you with that, e.g. TimerBench. Use these timer benchmarks to measure if turning off the High Precision Event Timer can affect the timer performance.
Download
So there you have it. Now you know how to disable HPET and improve the system gaming performance. Did you find the methods useful? Comment down below if you found the HPET affecting timer performance.