Was reading how the use of timeBeginPeriod to increase system tick frequency could lead to a shorter battery life (read
here) ...decided to investigate how timeBeginPeriod function interacts with Windows 8, since Windows 8 uses tickless kernel and theoretically has no relations with system timer ticks. From
MSDN, timeBeginPeriod resides in winmm.dll. There are 2 versions on winmm.dll on my Win 8 machine, one under c:\Windows\SysWow64 and one under c:\Windows\system32.
timeBeginPeriod in c:\Windows\SysWow64\winmm.dll:
|
timeBeginPeriod calls an imported function, timeBeginPeriod@4 |
|
timeBeginPeriod@4 belongs to api-ms-win-mm-time-l1-1-0.dll |
|
timeBeginPeriod@4 in api-ms-win-mm-time-l1-1-0.dll is an empty function |
timeBeginPeriod in c:\Windows\system32\winmm.dll uses the same flow, importing the function timeBeginPeriod@4 from api-ms-win-mm-time-l1-1-0.dll:
|
x64 api-ms-win-mm-time-l1-1-0.dll uses the same function for multiple exports |
|
And that one function is empty |
Hence, I've verified that timeBeginPeriod does not work in Win 8...so why is Win 8 battery life still so weak?!
No comments:
Post a Comment