タイマーを繰り返す処理を行ってみたところ、
回数が増えるに従ってハンドラーが呼ばれる間隔が長くなっていく現象に遭遇。
単にタイマーを呼び出すだけでを同じ現象が発生するのか確認してみました。
(タイマー間隔は500msec)
結果は、そうなるみたいです。
code
DateTime last;
TimeSpan ts;
int cnt;
void timer_Tick(object sender, EventArgs e)
{
if (cnt > 0)
{
ts += DateTime.Now - last;
}
cnt++;
last = DateTime.Now;
if ((cnt % 50) == 0)
{
this.labelTimer.Text += string.Format("avg = {0}msec, cnt={1}", ts.TotalMilliseconds / cnt, cnt) + "\n";
this.labelTimer.Update();
}
}