我需要替换秒表,以避免对其属性使用吸气剂。我将使用QueryPerformanceCounter实现它。我只需要壁虱。
任何人都可以提供代码片段,以获取正确的滴答声(1/10000毫秒)或任何其他小的但稳定的值。
请注意,我的服务器将时钟粒度设置为0.5 ms(不确定是否会影响QueryPerformanceCounter),但仅供您参考。
另请注意-我不需要计时器。我只需要测量部分代码之间的时间间隔。
编辑:为避免混淆,我真的很想知道QueryPerformanceCounter(out lpPerformanceCount)中的lpPerformanceCount是什么;
最佳答案
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(out long lpFrequency);
取自http://www.codeproject.com/Articles/2635/High-Performance-Timer-in-C
旧的,但仍然可以正常工作
编辑:
StopWatch
的内部实际上使用QueryPerformanceCounter
,因此使用托管代码应提供相同的结果,并具有更好的兼容性。