# 一个.NET 高精度Timer(毫秒级) **Repository Path**: wwkkww1983/high-precision-timer ## Basic Information - **Project Name**: 一个.NET 高精度Timer(毫秒级) - **Description**: 一个.NET 高精度Timer(毫秒级) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-03-31 - **Last Updated**: 2022-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一个.NET 高精度Timer 很多时候,我们需要是比c#和Windows(一般在15ms 左右)精度更高的定期间隔事件,但是却受限制Windows操作系统内建的标准计时器机制。 Window确实存在一个用于多媒体应用程序的高精度定时api,但这些api并没有公开在.net api中。 但是对于需要1ms量级的计时器精度的应用程序,这些api非常有用。 本库封装了Multimedia Timer API(http://msdn.microsoft.com/en-us/library/windows/desktop/dd743609(v=vs.85).aspx)。 需要说明的是,这个API改变了系统的设置,可能会降低系统性能(尤其是电池寿命),所以使用者要当心。 还有因为Windows不是一个实时的操作系统,在你的系统上的负载也可能会导致本定时器延迟。 假如间隔为100毫秒,包含快速连续的100个事件,其得到的结果可能不是间隔1毫秒的100个事件。 另外.NET线程调度,GC回收,运行时编译都可能导致延迟出现。 其他的资料[毫秒定时器]参照(https://blogs.msdn.microsoft.com/mediasdkstuff/2009/07/02/why-are-the-multimedia-timer-apis-timesetevent-not-as-accurate-as-i-would-expect/)。