作者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
1F:→ optimist9266:Stopwatch本来就是用来做精确计算的 说不准应该是觉 04/09 23:37
2F:→ optimist9266:得每次的统计结果都有误差吧 04/09 23:38
3F:→ optimist9266:说错 不是误差 是视当时电脑状态出现的时间变化 04/09 23:39