RPGツクールXP フレームレートと内部処理

RPGツクールXPのフレームレートと内部処理の挙動について書き留めておきます。

グラフィックスの描画に関して、滑らかモードにしていない状況では、 画面の描画出力処理(Graphics.frame_rateで決定)の半分が間引きされるということになっています。

Graphics.frame_rateの値内部計算滑らかモード時非 滑らかモード時
=40毎秒40回ループ最大40FPS最大20FPS
=100毎秒100回ループ最大100FPS最大50FPS

このとき注意すべきは、画面の描画にPCの処理が追いつかなくなり、 描画FPSが減っても (現在のFPSはテストプレイ中にF2キーを押すことで確認できます)内部計算はできるだけフレームレート 通りに行おうとするということです。

つまり、最大100FPSのモードで処理が追いつかずに60FPSしか出ていないとしても、 内部処理(主人公キャラの移動計算など)は追いつく限り毎秒100回行われます。 このとき何が起こるかというと、滑らかモードでなくとも画面が一気に3フレームや4フレーム分 (ひどいときにはそれ以上)更新されるという事が起こります。これがコマ落ちです。

よって、主人公の移動速度などの内部処理は、Graphics.frame_rateによって決定され、 滑らかモードのONOFFには依存しません。 例えばXP標準frame_rate=40での滑らかモードと、 frame_rate=60での非滑らかモード(最大30FPS)を比較しても、主人公の移動速度は 内部毎秒60回計算が行われる後者のほうが速くなります

大抵の場合、全体の処理の中で描画処理は計算処理よりも負荷が大きくなっています。 例え最高指定の120FPSにして激しいコマ落ちが発生したとしても、相当な処理をさせない限り、 内部では毎秒120回の計算が行われています。なので、フレームレートが極端に少ないからといって プレイ時間が間延びしたりすることはほとんど無いことになるのです。

しかしあまりにコマ落ちが多いとアニメーションなどで見苦しいものがありますし、 プレイヤーにも不快感を与えます。できればデフォルトの40FPS、内部でどうしても高速で処理を行わせたいときでも、 60FPS程度にとどめておくのが無難ではないでしょうか。