分類:[VB.NET/VB2005 以降]
現在、PicrureBoxを使って、グラフをスクロールさせています。
タイマーを使って、例えば200msec毎に1ページ分のグラフを書いて、
更新させていくやり方をしています。
タイマーの1回1回の精度は気にしていないのですが、波形が1画面分スクロールした時に、
例えば12秒とすると、12秒前後になるのはかまわないですが、常に12秒をオーバーし、
時間が積算されます。タイマーはこのような物なのか?、それとも使い方が悪いのでしょうか?
【グラフの内容】
横:600ドット
タイマー:200msec or 1000msec
表示タイミング:タイマー毎に10ドット分スクロールしたグラフを描画
1画面分スクロールだと600/10=60回となり、200msecや1000msecのタイマーだと
12秒や60秒の時間になると思いますが、毎回少し長い時間になります。
画面1枚分を描画した時に、PCの時間を秒以下まで表示させた時の
結果を添付します。200msecと1000msecの時間差がほぼ5倍です。
(200msec:12.168秒 → 1000msec:60.84秒)
【タイマー1000msecの結果】
分 秒 小数点 合計 時間差
1 3 644 63.644
2 4 483 124.483 60.839
3 5 324 185.324 60.841
4 6 163 246.163 60.839
5 7 4 307.004 60.841
6 7 844 367.844 60.84
7 8 685 428.685 60.841
8 9 526 489.526 60.841
9 10 367 550.367 60.841
【タイマー200msecの結果】
分 秒 小数点 合計 時間差
10 13 718 613.718
10 25 886 625.886 12.168
10 38 54 638.054 12.168
10 50 222 650.222 12.168
11 2 392 662.392 12.17
11 14 559 674.559 12.167
11 26 726 686.726 12.167
11 38 894 698.894 12.168
|