作者toki (いまがその时だ)
看板C_Sharp
标题Re: [问题] 时间计算 问题
时间Tue Apr 1 21:12:51 2008
※ 引述《cole945 (躂躂..)》之铭言:
: GetTickCount() 没有到 1/1000 秒 @.@"
: 在我的 Windows XP Pro/P4 上执行下面程式只会印出 15和16,
: 所以 GetTickCount 应该只会到 1/64 = 15.625 秒而已 @.@
: 这个好像是 OS 为了避免 因为不断更新 timer 值对效能造成负面影响所致..
: 如果真的要很准, 用 Performance Counter (通常不会需要吧)
: while (true) {
: a = GetTickCount();
: if (a != b) {
: Console.WriteLine((a - b).ToString());
: b = a;
: }
: }
这点我倒真的没注意过
刚想到另外还有一个简易可以用来测比秒小的时间方式
for (int i = 0; i < 5; i++)
{
long t1 = DateTime.Now.Ticks;
// sleep 1 ms
Thread.Sleep(1);
long t2 = DateTime.Now.Ticks;
Console.WriteLine("[Test - {0}] {1} - {2} = {3}", i, t2, t1, t2 - t1);
}
测试结果
[Test - 0] 633426811343196000 - 633426811343186000 = 10000
[Test - 1] 633426811343206000 - 633426811343196000 = 10000
[Test - 2] 633426811343216000 - 633426811343206000 = 10000
[Test - 3] 633426811343226000 - 633426811343216000 = 10000
[Test - 4] 633426811343236000 - 633426811343226000 = 10000
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.82.44