无滴答操作系统中的刻度长度

时间:2011-02-22 18:57:26

标签: c# .net

我对winmm.dll的理解是它可以改变“滴答”的长度。

在像Windows 7这样的无滴答操作系统中,如果有的话有什么用途/效果?

1 个答案:

答案 0 :(得分:3)

调用timeBeginPeriod不允许您更改“滴答”的长度,而是设置您对多媒体计时器功能的最低分辨率。如果您拨打timeBeginPeriod(1),则可以通过拨打timeSetEvent来设置您设置的定时器的1毫秒分辨率(最多)。

除非您使用多媒体计时器(您可能不应该这样做,考虑到它们已经被弃用而不支持线程池计时器),所以没有理由再调用timeBeginPeriod甚至是担心它。但是,有一些令人信服的理由来调用timeBeginPeriod或任何其他设置最小定时器分辨率的函数。请参阅http://www.microsoft.com/whdc/system/pnppwr/powermgmt/Timer-Resolution.mspxas

Windows会以100纳秒“滴答”的间隔跟踪时间,无论您使用timeBeginPeriod设置什么。如果您真的需要,timeBeginPeriod只是一种获得更细粒度的定期事件的方法。它对Windows如何保持时间没有影响。