看板 C_Sharp 關於我們 聯絡資訊
※ 引述《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