2012-08-03 41 views
4

對不起,它永遠是真的!編輯...Stopwatch.IsHighResolution == false在我的機器上。爲什麼?


我剛剛意識到Stopwatch.IsHighResolution在我的機器中返回false。爲什麼?它需要什麼來回報真實的?什麼樣的硬件? MSDN對此沒有多說。

機器配置: Win 7 x64; i7 930; 3x2 GB(tripple chanel); HD 500 GB 7200 RPM;能量配置CPU @ 100%


根據要求: VS 2010; .NET 4.0;贏得表格申請;調試模式(我現在正在測試)


在發佈模式下它返回true! :) 好吧,對不起人,實際上它總是如此(調試和發佈)。

+1

和軟件? Fx版本,C#版本,應用程序類型,調試模式? – 2012-08-03 20:55:52

+0

fx ??它是什麼? – Pedro77 2012-08-03 20:58:36

+0

opss!在發佈它是真實的! :D – Pedro77 2012-08-03 21:00:04

回答

1

可能是因爲您沒有高分辨率性能計數器的權限,或者您的硬件沒有該功能來支持高分辨率性能計數器。

+0

它是否與主板有關?中央處理器?我怎樣才能找到問題所在?我以管理員身份登錄,VS也以管理員身份運行。 – Pedro77 2012-08-03 20:55:38

+4

您可以調用Win32 API ['QueryPerformanceFrequency'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v = vs.85).aspx)(這是IsHighResolution的用途),並使用GetLastError()來查看它指示的內容。 – vcsjones 2012-08-03 20:57:02

+0

僅記錄文檔「硬件」。 IsHighResolution從調用win32函數QueryPerformanceFrequency的結果中填充。有關更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx。 – 2012-08-03 20:58:53

相關問題