<p>我额外启动了Windows7来复制你的发现,我可以证实这一点</p>
<p>这是一个<a href="https://docs.microsoft.com/en-us/windows/win32/sysinfo/time" rel="noreferrer">Windows</a>的东西,使用的定时器类型和默认分辨率为15.6毫秒(最小0.5毫秒)。应用程序可以改变当前分辨率(WinAPI函数:<a href="https://docs.microsoft.com/en-us/windows/win32/api/timeapi/nf-timeapi-timebeginperiod" rel="noreferrer">timeBeginPeriod</a>),Chrome也可以这样做</p>
<blockquote>
<p>This function affects a global Windows setting. Windows uses the
lowest value (that is, highest resolution) requested by any process.
Setting a higher resolution can improve the accuracy of time-out
intervals in wait functions. However, it can also reduce overall
system performance, because the thread scheduler switches tasks more
often. High resolutions can also prevent the CPU power management
system from entering power-saving modes. Setting a higher resolution
does not improve the accuracy of the high-resolution performance
counter.</p>
</blockquote>
<p>2014年在<a href="https://www.forbes.com/sites/ianmorris/2014/07/14/googles-chrome-web-browser-is-killing-your-laptop-battery/" rel="noreferrer">Forbes</a>杂志上发表的一篇文章涵盖了铬元素的<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=411592" rel="noreferrer">bug</a>,这将使分辨率<em>永久</em>设置为1ms,无论当前负载需要什么-这是一个问题,因为这是一个系统范围内的影响,会影响能耗。从该条中:</p>
<blockquote>
<p>In an OS like Windows, events are often set to run at intervals. To
save power, the processor sleeps when nothing needs attention, and
wakes at predefined intervals. This interval is what Chrome adjusts in
Windows, so reducing it to 1.000ms means that the system is waking far
more often than at 15.625ms. In fact, at 1.000ms the processor is
waking 1000 times per second. The default, of 15.625ms means the
processor wakes just 64 times per second to check on events that need
attention.</p>
<p>Microsoft itself says that tick rates of 1.000ms might increase power
consumption by "as much as 25 per cent".</p>
</blockquote>
<p>可以使用<a href="https://docs.python.org/3/library/time.html#time.get_clock_info" rel="noreferrer">time.get_clock_info()</a>从Python获得默认分辨率</p>
<pre><code>namespace = time.get_clock_info('time')
namespace.adjustable
# True
namespace.implementation
# 'GetSystemTimeAsFileTime()'
namespace.monotonic
# False
namespace.resolution
# 0.015600099999999999
</code></pre>
<p>您可以使用<a href="https://docs.microsoft.com/en-us/sysinternals/downloads/clockres" rel="noreferrer">ClockRes</a>小程序从<code>cmd</code>获取实际分辨率</p>