通知
すべてクリア
Topic starter
2003年2月5日 7:26 PM
ある処理の時間をプログラムで正確に測定するために
1.処理開始時に10msのタイマーを生成します。
2.タイマー割り込みが発生する回数をカウンティングして
エディットボックスに表示します。(UpdateData関数)
3.タイマーを削除します。
ということを行なっております。
これで0.01秒間隔のストップウォッチが出来るのですが
ストップウォッチと並べて10秒カウンティングしてみると
3秒ほどのズレが出てしまいます。(表示処理などが重いから当然・・・)
1秒ならウィンドウズタイマーの値の差をとっていけば実現可能なのですが・・・
0.01秒の単位まで正確に測定する方法をご存知の型はいらっしゃらないでしょうか?
よろしくお願い致します。
2003年2月5日 7:53 PM
起動時に時間(ミリ単位までできます)を記憶して、表示するときにその差を表示する。
タイマー割り込みは表示のためにだけ使うようにしては。
Topic starter
2003年2月6日 9:10 AM
ありがとうございます。
ミリ秒単位の時間の取得は出来ないと思っていました・・・
よく調べてみたら見つけることが出来ました!
GetTickCount
2003年2月6日 9:23 AM
ただし、1[ms]毎に GetTickCountの値が更新されているわけではありません。
Topic starter
2003年2月6日 11:41 AM
その通りの問題が発生しました・・
それでも、10msのタイマーなら最大誤差も10ms(19msなのかな?)程度なので
妥協することにしました。
アドバイスありがとうございます。
