Интервал разрешения таймера ядра Windows по умолчанию — 15,6 миллисекунды, он же максимальный интервал. Это значит, что как минимум 64 раза в секунду ядро операционной системы издает периодическое прерывание (тактовый тик). Частоту прерываний можно существенно повысить, хотя Microsoft не рекомендует делать это, особенно на мобильных устройствах (ноутбук) из-за значительного повышения расхода электроэнергии.
Microsoft решила проблему в Windows 8, перейдя на таймер без прерываний (tickless timer). В Windows 7, как и в предыдущих версиях Windows, этот интервал не превышает 15,6 миллисекунд.
Программист из компании Valve Брюс Доусон провел собственное расследование — и выяснил, что в предыдущих версиях Windows частоту таймера повышали различные программы Microsoft, в том числе Visual Studio 11 из-за бага в WPF, SQL Server и проч.
Таким образом, программисты Microsoft ответственны за «мегаватт-часы излишне потраченной человечеством энергии», с иронией пишет Доусон. Впрочем, в повышении частоты таймера замечен также браузер Google Chrome.
Узнать текущее частоту тиков таймера можно с помощью утилиты clockres.
Для изменения настроек таймера и установки интервала обратно на 15,6 миллисекунды с целью экономии заряда аккумуляторов используйте timeBeginPeriod. Оценить расход энергии в разных режимах таймера можно с помощью утилиты Intel Power Gadget на совместимых процессорах Intel.
По оценке Доусона, повышение разрешения системного таймера Windows приводит к повышению энергопотребления примерно на 0,3 Ватта, а также уменьшает производительность компьютера на величину от 2,5% до 5% из-за того, что ядро системы чаще обращается к процессору.
Источник: xakep.ru
Горячие темы