RPGツクールXP 動作性能に対する見解

RPGツクールXPは重いとよく言われます。ではどこがどう重いのか、というのが気になります。
関係ありそうな3つの要因と、公式公表の動作スペックについて考察します。

ゲーム本体のデータサイズが大きい

ものによりますが直接動作に影響することはないようです。 回線が低速だとダウンロードに時間がかかってしまったり、 CPUの関係で大容量のファイルを解凍するのに時間がかかる程度でしょうか。

読み込み時間が長い(一時停止)

これは場合によっては致命的です。RPGツクールXPの仕様で、メインループ中などにあるGraphics.updateが 10秒以上実行されないとゲームが強制終了されます。
これが最も起こりやすいのがニューゲーム開始時です。デフォルトでは、 ゲーム起動時にデータベースを読み込み、ニューゲーム開始時にゲームオブジェクト (システム変数など)を生成します。ゲームオブジェクト生成は大量のデータを格納するので、 そのデータ格納に10秒以上の時間を要するとゲームが始まる前にシャットダウンされます。 読み込み命令はRGSSでいくつかに別れているので、読み込みが遅いプレイヤー用にゲームオブジェクト読み込み数個ごとに Graphics.update命令を挟むとよいと思います(このオブジェクト読み込み命令群はScene_Title クラスのニューゲーム部分にあります)。もちろん、構造を改良してオブジェクトを少なくしたりされている方ならばある程度は 問題ないかと思います。

加えて、容量の大きなOGGオーディオファイルを読み込む際は長い停止時間が生じます。
RPGツクールXP 特徴
OGGファイルは効果音に使用するか、どうしてもOGGでBGMを演奏したい場合はWINAPIをRGSSから呼び出すしかないようです。 しかしツクールXPのAudio再生以外では、OGGは演奏に専用のCODEC(DirectShowFilter)を必要とします。 全てのプレイヤーの環境で再生できるわけではない(おそらくほとんどのプレイヤーは再生できない) ので注意しなければなりません。

描画処理でコマ落ちが発生する

私のPC(Pentium3-933Mhz,Memory512MB,VRAM64MB)では、滑らかモードでなくともかなりの頻度でコマ落ちが発生します。 これを動作的に重いと考えるかどうかは人の感覚によるかもしれません。Pentium4-2.8GHzを用いた場合でも、滑らかには動きましたが 全くコマ落ちが発生しない、ということはありませんでした。
フレームレートとコマ落ちに関する詳しい考察は⇒ RPGツクールXP フレームートと内部処理
コマ落ちを少なくするためには

などがあります。文字の描画(Bitmap.draw_text)は、ヘルプにもかかれているとおり 毎フレーム行うことは推奨されません。一度描画してからそのスプライトを管理するようにしましょう。

MIDI演奏はマシンパワーを使います。DirectMusicSynthesizerで演奏とありますが、これはソフトウェア音源です。 MIDIファイルの発音数が多い場合、かなりのマシンパワーを演奏に回してしまいます。私はBGMをWMAにすることによって、 かなり動作が改善されました。

公式発表の動作環境

ツクールWEBより抜粋

■最小システム構成■
OS:Windows 98 / 98SE / ME / 2000 / XP 日本語版
CPU:Intel PentiumV 800MHz 相当以上
メモリ:128MB以上
ビデオカード:解像度1024×768以上でHigh Color表示ができるもの
サウンドカード:DirectSoundに対応したもの
ハードディスク:空き容量100MB以上
■推奨システム構成■
OS:Windows XP 日本語版
CPU:Intel PentiumW 1.5GHz 相当以上
メモリ:256MB以上
ビデオカード:解像度1024×768以上でTrue Color表示ができるもの
サウンドカード:DirectSoundに対応したもの
ハードディスク:空き容量500MB以上

しかし、これはエディタ(RPGツクールXP)の動作環境であって、作成したゲームの動作環境ではありません。 作成したゲームはPentium3-933Mhzでも動作しますし、CPU2GHzでもコマ落ちが発生します。 また、CPUが動作条件を満たさない場合作成したゲームが起動しないという仕様は、バージョンアップにより廃止されたようです。

作成したゲームの動作環境

作成したゲームの動作環境は、ゲームの内容(主に描画とサウンド関連)に大きく左右されると思います。 動作に最も影響するのはCPUです。多少メモリが少なくてもCPUさえ早ければ快適に動作します。個人的な感覚では、 快適なゲームプレイを行うには1GHz以上のCPUであったほうが良いと思います。

スペックの低いPCではどうやらビデオカードでかなりの差が出るようです。 PentiumV933MHz、メモリ384MB、Windows2000において、VRAM16MBのビデオカードとVRAM64MBのビデオカードを使って比較したところ、 前者はスクロール描画処理が追いつかずほとんどゲームにならない後者は5歩に1回がくつくかがくつかないか といったところでした。CPUが1.5GHzを超えるような場合は、ビデオカードの有無はあまり影響しないかもしれません。