В современных компьютерах на материнских платах обычно используется таймер событий высокой точности HPET (High Precision Event Timer, ранее назывался мультимедийный таймер). Он работает на высокой частоте (более 10 МГц), создавая прерывания высокой точности, что полезно для синхронизации мультимедийных приложений. Работа таймера HPET иногда немного ухудшает DPC latency – время отзыва операционной системы, что приводит к уменьшению FPS в играх, а также снижению быстродействия в некоторых других программах.
Для небольшого увеличения отзывчивости системы, которая будет особенно заметна на компьютерах со слабыми процессорами, стоит попробовать отключить опцию High Precision Timer.
Лучше всего это делать одновременно и в BIOS, и в операционной системе, так как на некоторых материнских платах отключение только в ОС работает не столь эффективно.
Как отключить High Precision Event Timer (HPET)?
Для отключения HPET нужно найти соответствующий пункт в меню BIOS материнской платы, отключить его, сохранить изменения и наслаждаться крохотным бесплатным приростом производительности в некоторых программах.
Пункт High Precision Timer в BIOS материнской платы Gigabyte GA Z77MX-D3H:
В любой современной Windows (7, 8/8.1 и 10-ке) для отключения HPET можно использовать диспетчер устройств:
В меню системных устройств диспетчера выбирается высокоточный таймер событий, который отключается через меню Драйвер-Отключить:
После нажатия на кнопку Отключить нужно подтвердить выбранное действие:
В ubuntu-подобных системах отключить HPET можно через GRUB, например, в редакторе nano:
sudo nano /etc/default/grub
добавив в строку GRUB_CMDLINE_LINUX_DEFAULT параметр hpet=disable.
Пример содержимого GRUB для майнинга с выключенным HPET:
GRUB_CMDLINE_LINUX_DEFAULT="hpet=disable amdgpu.vm_fragment_size=9 amdgpu.msi=1 amdgpu.audio=0 amdgpu.ppfeaturemask=0xffffffff radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 noresume elevator=noop"
После внесения изменений в GRUB нужно не забыть их применить командой:
sudo update-grub
Нужно не забывать, что обычно одновременное отключение HPET в BIOS и ОС работает лучше, чем использование только одного способа.
Стоит ли отключать HPET для увеличения производительности компьютера?
Измерить время задержек в операционной системе до и после отключения HPET можно в программах LatencyMon, DPC Latency Checker и других:
В играх изменения FPS после манипуляций с HPET можно проконтролировать штатным способом.
Отключение HPET на некоторых алгоритмах майнинга может дать небольшой прирост хешрейта как на CPU, так и на GPU. Особенно сильно он будет заметен при майнинге на слабых CPU, например, на Celeron-ах.
Майнинг на алгоритме randomx в программе xmrig 6.17.0 на CPU Intel I5-4590S 3.0 GHz с выключенным в диспетчере задач HPET (Windows 8.1, 2 threads, hashrate до 1280 H/s):
Майнинг на алгоритме randomx в программе xmrig 6.17.0 на CPU Intel I5-4590S 3.0 GHz с включенным HPET (Windows 8.1, 2 threads, hashrate до 1263 H/s):
Как видно из примера, без HPET процессор выдает немного больше хешей (на пару процентов). На других компьютерах, после выключения опции High Precision Timer в BIOS, наблюдался немного больший прирост производительности.
Заключение
Не стоит ожидать чудес после отключения HPET, рост производительности может быть настолько мал, что его можно и не заметить, либо приравнять к погрешности. Тем не менее, на некоторых материнских платах, особенно при их комплектации слабыми CPU, такое ухищрение может быть полезным.