正確なストップウォッチの作り方

[戻る]
ディー 2003/02/05(水) 19:26:17
ある処理の時間をプログラムで正確に測定するために

1.処理開始時に10msのタイマーを生成します。
2.タイマー割り込みが発生する回数をカウンティングして
 エディットボックスに表示します。(UpdateData関数)
3.タイマーを削除します。

ということを行なっております。
これで0.01秒間隔のストップウォッチが出来るのですが
ストップウォッチと並べて10秒カウンティングしてみると
3秒ほどのズレが出てしまいます。(表示処理などが重いから当然・・・)
1秒ならウィンドウズタイマーの値の差をとっていけば実現可能なのですが・・・

0.01秒の単位まで正確に測定する方法をご存知の型はいらっしゃらないでしょうか?
よろしくお願い致します。

アイススケーター 2003/02/05(水) 19:53:05
起動時に時間(ミリ単位までできます)を記憶して、表示するときにその差を表示する。

タイマー割り込みは表示のためにだけ使うようにしては。

ディー 2003/02/06(木) 09:10:26
[[解決]]
ありがとうございます。
ミリ秒単位の時間の取得は出来ないと思っていました・・・
よく調べてみたら見つけることが出来ました!
GetTickCount

επιστημη 2003/02/06(木) 09:23:07
ただし、1[ms]毎に GetTickCountの値が更新されているわけではありません。

ディー 2003/02/06(木) 11:41:53
その通りの問題が発生しました・・

それでも、10msのタイマーなら最大誤差も10ms(19msなのかな?)程度なので
妥協することにしました。
アドバイスありがとうございます。

古いスレッドには追加発言できません。