990x.top
Простой компьютерный блог для души)
Timer Resolution — что это за программа?
Приветствую друзья! Сегодня разберемся с программой Timer Resolution, постараемся выяснить что это за программа и нужна ли она на ПК.
Timer Resolution — что это такое?
Позволяет изменять разрешение таймера Windows по умолчанию.
Утилита в теории может увеличить производительность ПК, повысить FPS в играх.
В интернетах пишут:
Дополнительную информацию можно почитать здесь и здесь (только нажмите правой кнопкой по странице и выберете перевести на русский).
Вот собственно как выглядит утилита:
А по этой картинке видим что она работает даже под Windows XP:
Timer Resolution — использовать или нет?
Лично я не верю уже в чудеса. Если и можно увеличить FPS, то это может плохо отразиться на железе. Да и если бы так просто можно было — не занимались разгоном, а про изменение разрешения таймера было бы всем давно известно.
Поэтому мое мнение будет таким:
В общем веду к тому, что если Timer Resolution и правда может помочь увеличить производительность в играх, если это реально заметно, то нужно очень осторожно и внимательно проанализировать работу ПК. Сможет ли он в таком режиме работать постоянно, не опасно ли это для железа — это важно.
Заключение
Надеюсь информация пригодилась, удачи вам и до новых встреч друзья!
Почему не стоит разгонять таймер Windows или мегаватты, потраченные впустую

Период таймера Windows по умолчанию составляет 15.6 мс – он тикает 64 раза в секунду. Когда программа увеличивает частоту таймера, растет потребление энергии, что сказывается на расходе батареи. При этом также расходуется вычислительная мощность компьютера, и даже больше, чем я думал – то есть компьютер начинает работать медленнее! Вот почему в течение многих лет Microsoft настоятельно не рекомендует разработчикам поднимать частоту таймера.
Почему же тогда почти каждый раз, когда я вижу разгон таймера, он вызван программой от Microsoft?
Узнать текущую частоту таймера Windows довольно просто с помощью утилиты clockres от sysinternals.
ClockRes v2.0 – View the system clock resolution
Copyright 2009 Mark Russinovich
SysInternals – www.sysinternals.com
Maximum timer interval: 15.600 ms
Minimum timer interval: 0.500 ms
Current timer interval: 1.000 ms
Для увеличения времени работы компьютера от батарей текущий период таймера (который может быть изменен функцией timeBeginPeriod) должен быть равен 15.6 мс; но, как вы видите выше, какая-то программа изменила его на 1 мс, что эквивалентно дополнительным 936 тикам в секунду.
Поиск виновного – WPF
Процесс поиска виновного в увеличении частоты не так очевиден, но все-таки довольно прост. В командной строке администратора наберем
и в текущем каталоге появится файл energy-report.html, в котором мы, в частности, прочитаем:
The stack of modules responsible for the lowest platform timer setting in this process.
Requested Period 10000
Requesting Process ID 3932
Requesting Process Path
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
Calling Module Stack
C:\Windows\SysWOW64\ntdll.dll
C:\Windows\SysWOW64\winmm.dll
C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll
C:\Windows\SysWOW64\kernel32.dll
C:\Windows\SysWOW64\ntdll.dll
Итак, Visual Studio 11, посредством использования WPF, запросила интервал в 1 мс, что и указано в отчете посредством несколько сбивающей с толку единицы измерения, равной 100 нс. Это известная проблема, связанная с WPF; все версии Visual Studio ведут себя так время от времени и, по-видимому, любое приложение, использующее WPF, может стать источником проблемы. Увеличение частоты может иметь смысл, когда программа пытается поддерживать постоянный фрейм рейт вывода, однако это не оправдывает WPF, поскольку она сохраняет высокую частоту таймера даже в том случае, когда никакой анимации не происходит.
Поиск виновного – SQL сервер
Другой процесс, часто виновный в увеличении частоты на моем компьютере – sqlservr.exe. Думаю, что он был установлен Visual Studio, но не уверен в этом, как не уверен, используется он или нет. В любом случае, SQL сервер не должен повышать частоту таймера; если таким образом предполагается повысить производительность приложения, то это больше похоже на костыль. И, как в случае с WPF, увеличение частоты нужно только тогда, когда сервер занят обработкой данных, а не постоянно.
Platform Timer Resolution:Outstanding Timer Request
A program or service has requested a timer resolution smaller than the platform maximum timer resolution.
Requested Period 10000
Requesting Process ID 2384
Requesting Process Path \Device\HarddiskVolume1\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
Поиск виновного – quartz.dll
У меня нет соответствующей записи из отчета powercfg, но C:\Windows\System32\quartz.dll является еще одним источником проблем с частотой таймера. Я даже толком не знаю, что такое этот Quarts (ну а мы-то знаем, что это не что иное, как Microsoft DirectShow – прим. пер.), но замечал, что иногда он расходует энергию зря.
Поиск виновного – Chrome
Обычно виновными становятся продукты Microsoft, однако к ним в компанию я добавляю еще Google Chrome. Когда я запускаю Chrome он постоянно увеличивает частоту таймера 1000 Гц, даже в том случае, когда компьютер работает от батареи, а я просматриваю простую HTML страницу. Привожу скриншот, фиксирующий преступление Chrome.
Поиск виновного – svchost.exe
Иногда svchost.exe увеличивает частоту таймера до 100 Гц. Это, конечно, не так страшно, как 1000 Гц, но все-таки раздражает. Особенно печально то, что я не могу определить, какой именно сервис это делает.
Общая трагедия – побеждает максимальная частота
Таймер Windows является глобальным ресурсом, он тикает с одинаковой частотой для всей системы целиком. Получается, что если какая-то программа увеличивает частоту таймера, то это сказывается на поведении всей системы.
Когда процесс вызывает функцию timeBeginPeriod, этот


