Падение "падение времени кадра" лаги с сим

На счет HPET, есть специальный бенчмарк для тестирования таймеров - https://www.overclockers.at/articles/the-hpet-bug-what-it-is-and-what-it-isnt
Действия для тестирования:

  1. Скачиваем архив с программой
  2. Распаковываем в удобное место
  3. В программе Intelegent standby list cleaner устанавливаем Wanted timer resolution в 0.50
  4. Запускаем из папки TimerBench
  5. Смотрим на строку QPC Mode, чтобы узнать какой таймер используется HPET или TSC(он может не определиться и значение будет Unknown)
  6. Выбираем разрешение 1280х720
  7. Ставим галочку в строке Fullscreen
  8. Жмем кнопку Run
  9. Запустится тест, сначала он определит количество циклов в синтетических тестах, а потом запустится демка на UE, для определения количества циклов в играх, максимальный фреймтайм и средний фпс.
  10. Повторяем тест 3-5 раз, не надо закрывать окна с результатами тестов, они понадобятся для высчитывания среднего фреймтайма, фпс и количества циклов, выборка из 5 результат будет точнее.
  11. Меняем в программе Intelegent standby list cleaner параметр Wanted timer resolution в 1.00
  12. Повторяем тестирование 3-5 раз.

Смотрим результаты Timer Calls/s в разделе Game Test, если разница между результатами с таймеров в 0.50 и 1.00 больше чем 20%, то делаем следующее:

  • Открываем командную строку или PowerShell от имени администратора
  • Вводим bcdedit /set tscsyncpolicy Enhanced
  • Жмем Enter
  • Перезагружаем ПК
  • Снова меняем в программе Intelegent standby list cleaner параметр Wanted timer resolution на 0.50
  • Снова запускаем TimerBench и запускаем тест в полном экране
  • Смотрим на Timer Calls/s, число должно стать таким же как было при таймере 1.00.

Для того, чтобы сравнить результаты с включенным HPET:

  1. Нажать в окне TimerBench кнопку Enable HPET
  2. Перезагрузить ПК
  3. Повторить тестирование.

Чтобы обратно отключить HPET:

  • Открываем командную строку или PowerShell от имени администратора
  • Вводим bcdedit /set useplatformtick false жмем Enter
  • Вводим bcdedit /set useplatformclock false жмем Enter
  • Вводим bcdedit /set disabledynamictick true жмем Enter
  • Вводим bcdedit /set tscsyncpolicy Enhanced жмем Enter
  • Запускаем диспетчер устройств
  • Переходим в раздел Системные устройства
  • Находим Высокоточный таймер событий и отключаем его.
  • Перезагружаем ПК

На ПК c FX-8350 и GTX 1060 3Gb разница между включенным и выключенным HPET составляет:

Frametime 41мс(HPET включен), 6мс(HPET выключен);
AVG FPS - 325(HPET включен), 357(HPET выключен)
Game Test timer calls - 314,266 (HPET включен), 2,133,816(HPET выключен)

3 лайка