这可能很明显,但我找不到/谷歌正确的方法来获得定时器解析的当前系统值,程序可以通过timeBeginPeriod(n)/timeEndPeriod(n)设置这个值。我想知道现在的决议是什么..。Windows 7的默认值似乎是15.6ms,但其他应用程序或机器供应商可能已经更改了设置。
有一些工具可以报告值,但我需要在应用程序中读取该值。
谢谢您的快速提示或链接。C#将是一个优势,但我知道我的方式与P/调用。
编辑:,感谢答案,我在C#中做了一个小工具,它使用了描述的方法:github.com/tebjan/TimerTool

发布于 2014-01-21 16:54:16
Windows计时器解析由隐藏的API调用提供:
NTSTATUS NtQueryTimerResolution(OUT PULONG MinimumResolution,
OUT PULONG MaximumResolution,
OUT PULONG ActualResolution);NtQueryTimerResolution由本机Windows库NTDLL.DLL导出。
通用硬件平台为ActualResolution报告156,250或100,144;旧平台可能报告更大的数字;较新的系统,特别是当支持高精度事件计时器( HPET )或常数/不变TSC时,ActualResolution可能返回156,001。
对timeBeginPeriod(n)的调用反映在ActualResolution中。
这回答中的更多细节。
https://stackoverflow.com/questions/21262821
复制相似问题