今までに「60Hzのモニタを使っている人は1秒間に60回ループが回るので・・」等と言ってきました。 60Hzのモニタ環境では、以下のようなプログラムを書いた時は、1秒間に60進むことになります。 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ 1進む(); } 多くの環境ではモニタが60Hzなので、60Hzを想定した作りにすることが多いですが、 これではもし90Hzのモニタを使っている環境があると、動きが1.5倍の速さ(1秒間に90進む)になってしまいます。 そこで処理が早く終わりすぎた時は、60Hz駆動時と同じ時間になるまで待機する処理を入れ、60Hz以上の環境でも60Hzと同じ動きになるように制御する必要があります。 (60Hz以下のモニタは普通無いので考慮しません) 理屈は簡単です。 基