[问题] 计时不准确

楼主: siate (yee)   2017-06-06 13:34:31
我想要对一个循环计时
使用stopwatch,流程大致如下
Stopwatch sw = new Stopwatch();
sw.Reset();
sw.Start();
do{
...
}while(...)
sw.Stop();
textBox.Text = sw.Elapsed.TotalMilliseconds.ToString();
每次计时出来的数值都会漂来漂去
像是11.8967,12.3895,11.8128,10.7043,12.2839 (毫秒)
虽然数字区间大致上就落在10~12ms
但能让他精确到个位数吗? 像是每次都11.多
或是有其他更准确的计时方法?
作者: YahooTaiwan (超可爱南西我老婆)   2017-06-06 13:35:00
本来就会有误差
作者: ssccg (23)   2017-06-06 13:52:00
每次执行时间本来就不一定一样吧? 还没到准不准确的问题
作者: anumis (阿努米斯)   2017-06-06 16:11:00
SpinWait.SpinUntil 可以暂停到个位数的微秒误差小于5ms我看错了,别理我 O.Q
作者: Litfal (Litfal)   2017-06-06 16:33:00
这是计算工作时间吧,本来就不会每次都一样,又不是单芯片
作者: zel (柚植)   2017-06-06 19:08:00
丢进个指定核心的执行序跑,google microsecond timer有教学但还是没办法精准触发事件
作者: erspicu (.)   2017-06-07 10:04:00
cpu的时脉也是飘来飘去阿
作者: commandoEX (卡曼都)   2017-06-07 17:07:00
把时间四舍五入到整数再输出就好了
作者: m339606 (mize)   2017-06-07 18:08:00
给你结论。无解
作者: largesperm (reindeer)   2017-06-07 18:17:00
windows 非 rtos
作者: AWEN221 (Larry)   2017-06-09 10:04:00
textBox.Text = "11.多";好啦 不开玩笑 就像同一个人每次跑百米时间也不会一样啦

Links booklink

Contact Us: admin [ a t ] ucptt.com