Почему увеличение разрешения таймера с помощью timeBeginPeriod влияет на энергопотребление?

В настоящее время я пишу приложение на C #, в котором мне нужно запустить таймер прибл. каждые 5 миллисекунд. Из некоторых исследований кажется, что лучший способ сделать это включает p / вызов timeBeginPeriod (...) для изменения разрешения системного таймера. В моем примере кода он работает достаточно хорошо.

Я нашел интересное предупреждение об использовании этой функции в блоге Ларри Остермана MSDN в этой записи :

Адам: вызов timeBeginPeriod также увеличивает точность GetTickCount.

Использование timeBeginPeriod - ужасно плохая идея в целом - мы активно исключаем все его использования в Windows из-за последствий потребления энергии, связанных с его использованием.

Есть более эффективные способы обеспечить своевременную работу вашего потока.

Кто-нибудь знает, почему это происходит, или какие могут быть «лучшие способы» (которые не указаны в цепочке)? О каком дополнительном энергопотреблении идет речь?

13
задан Chuu 28 September 2011 в 22:36
поделиться