07/06/29 21:17:21 Ysi+fy2W
個人的にはSleep()で待つのは好きじゃないな(´・ω・`)
Sleep()の精度も信用できないし、それに高性能PCほど描画を増やして滑らかにしたほうがいいと思うし。
例えば、60Hzのモニタで60FPS出る場合と、120Hzのモニタでも120FPS出るなら、
後者の方が滑らかに見えるよ。(Vsync同期させる場合)
好みだけど、Vsync同期+移動量タイマ制御方式がいいんじゃない?
1ループの時点でどのくらい移動するのかをタイマを使って計算するの。
んで必ず1ループで描画。ただしVsyncを待ってもらう。
内部的にどうなってるのか知らないけど、プログラム的には描画とループは同期してない(ややこしい表現だが)。
けど逐一移動する量を計算してるからどのタイミングでも、どのPCでも、他のアプリケーションが邪魔して処理落ちしても、
一定の速度でキャラクタが動く事になるよ。
例えば、10秒で10センチ動くものがあったとして、
ある環境では1センチずつ10コマ描画するけど、
ある環境では5センチずつ2コマしか描画できない。
けど、ちゃんと10秒で10センチ動くことは保障されてるわけ。