作者Anonymoux (猜猜偶素隨 ? ^*^)
看板C_Sharp
標題Re: [問題] 奇怪的計算時間
時間Fri Apr 8 22:14:12 2011
※ 引述《mlmfree (ㄚ福)》之銘言:
:
: 發現某些時候在轉換的過程中會莫名停頓一下
:
: 會有這種發現是我在函式中放了兩個時間記錄點
:
: DateTime T1 ,T2;
:
: 然後去計算這兩點之間差了多少ms
:
: 發現有的時候 這兩點之間 就算中間沒有任何程式碼
:
: 竟然差了15ms 正常狀況下中間沒有任何程式碼
這和timer 解析度有關
MSDN
http://msdn.microsoft.com/zh-tw/library/system.datetime.utcnow.aspx
系統 近似解析
Windows NT 3.5 和更新的版本 10 毫秒
Windows 98 55 毫秒
從 .NET Framework 2.0 版開始,傳回值為 DateTime,其 Kind 屬性傳回
DateTimeKind.Utc。
除了使用 UtcNow 之外,也可以使用 DateTimeOffset.UtcNow。 雖然前者是利用指派
DateTimeKind.Utc 給其 Kind 屬性的方式,指出日期和時間值是 Coordinated
Universal Time (UTC),但後者指派日期和時間值為 UTC 時間的位移 (等於
TimeSpan.Zero)。
: 推 horngsh:推2F 04/01 09:29
: → mlmfree:感謝樓上幾位 我試試!! 04/01 09:56
: → deuter:詳細說明: http://goo.gl/gcoT4 04/01 11:40
: → kavana999:Stopwatch是做研究的好幫手... 04/01 17:03
: → Anonymoux:Stopwatch 其實不太準 04/07 22:41
: 推 horngsh:不太準,有實證嗎? 04/08 09:46
MSDN
http://msdn.microsoft.com/zh-tw/library/system.diagnostics.stopwatch.ishighresolution(v=VS.80).aspx
http://goo.gl/cBMPS
Stopwatch 類別所使用的計時器視系統硬體和作業系統而定。如果 Stopwatch 計數器是
以高解析度效能計數器為基礎,則 IsHighResolution 為 true。否則,
IsHighResolution 為 false,表示 Stopwatch 計時器是以系統計時器為基礎。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.83.236
→ optimist9266:Stopwatch本來就是用來做精確計算的 說不準應該是覺 04/09 23:37
→ optimist9266:得每次的統計結果都有誤差吧 04/09 23:38
→ optimist9266:說錯 不是誤差 是視當時電腦狀態出現的時間變化 04/09 23:39