在我的机器上 Stopwatch.IsHighResolution == false 。为什么?

Ped*_*o77 5 c# timer stopwatch

抱歉,这始终是事实!已编辑...


我刚刚意识到 Stopwatch.IsHighResolution 在我的机器中返回 false。为什么?需要什么才能返回 true?什么样的硬件?MSDN对此不多说。

机器配置:Win 7 x64;i7 930;3x2 GB(三通道);高清 500 GB 7200 转;能源配置 CPU @ 100%


根据要求:VS 2010;.NET 4.0;赢得表格申请;调试模式(我现在将在发布中测试)


在发布模式下它返回true!:) 好吧,抱歉各位,实际上它总是正确的(调试和发布)。

Pet*_*hie 2

可能是您没有高分辨率性能计数器的权限,或者您的硬件没有支持高分辨率性能计数器的功能。

  • 您可以调用 Win32 API [`QueryPerformanceFrequency`](http://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx) (这是 IsHighResolution 使用的) ,并使用 GetLastError() 来查看它指示的内容。 (5认同)