処理速度に関して

処理速度に関して


ZGEを使う前に全体の処理速度を気にする人も多いかと思いますが、
残念ながら通常では処理速度は重い方だと思います。

とくに実行画面サイズを大きくしたりフルカラーモードで実行する場合には、
全体的に重くなる傾向があるようです。
(320×240 の素材の大きさを2倍にして 640×480 サイズに直すと重くなります)

また、最近のPCに搭載されている Radeon 系の一部グラフィックチップでは2D処理が弱いものがあるらしく、
そのチップを搭載したマシンでは処理が重くなる事もあるようです。
(とくに画面サイズが 320×240 と 640×480 では大きく違いが出てきます)

その場合、シーン管理画面にて『3Dのみ』にチェックを入れると多少軽減できる場合があります。
(PCによっては『フルカラー(32bit)モード』にチェックを入れないと効果が現れない事もあります。)

PC本体の性能によってはフルカラーモードだと処理が重くなる場合もあるので、
 いろいろ試して丁度良い設定を探してください。
ウィンドウモードで実行した場合は、
 ウィンドウズの設定が優先される為、
 大抵が強制的にフルカラーモードとなります。

また、vsync と非同期に描画させると比較的安定した速度でゲームを動作させる事も可能です。

vsync を非同期にするには、
変数の sRfMode の値に0を代入します。

▼記述例


この設定はゲームを終了しない限りシーン変更をしても継続するので、
ゲーム開始時等に1度だけ実行すれば十分です。

ただし、vsync を非同期にしてしまうと画面の描画が非同期になる為、
画面がチラつく感じが気になる人もいるかと思います。
と言っても、大抵のゲーム製作ツールで作成したゲームは、
作ったものを1度PCで動かせる状態に変換するような形になるので、
殆ど同じような問題を抱えているのが現状ではないでしょうか。

個人的な主観ではありますが、
ZGEで vsync を非同期にした場合の処理速度は、
MMF2 よりも少し速く HSP よりもやや重いような印象でした。

キャラクターを大量に出す場合等は MMF2 より軽く、
複雑な処理をするキャラクターは HSP より扱いやすい傾向があるように思いますが、
大量のパーティクルを出す場合には HSP の方が軽いケースが多いようです。
キャラクターに関しては ZGE は非常に扱いやすいと思います。
(※640×480以上の画面サイズの場合やウィンドウモードの速度では HSP の方が安定している場合もあるかもしれません)

とくに ZGE の場合、
vsync を非同期に処理落ちした時の踏ん張り具合が違い、
FPS が40程度に落ち込んでも、
それなりにゲームが遊べる状態を維持できる感じがあります。
(自分がプレイした MMF2 や HSP で製作したゲームで比較したので正しくないかもしれません)

▼自作のゲーム画面


Pentium4 2.40GHz と言う古いスペックのPCで、
オンボートのチップ(DirectX9.0cの機能が一部使えない)でも、
これだけパーティクルやキャラクターを出してFPS 30〜40をキープし、
ある程度ですが最低限でも遊べる速度を維持する事ができました。
(※上記は 320×240 の画面サイズをフルスクリーンで実行した場合の話です)

ちなみに画面に大量に出ている四角い黄色い物と、
ピンクの弾がパーティクルです。
それ以外はキャラクターになっています。

さらに、パーティクルは見た目では判りませんが、
それぞれ少し複雑なスクリプトを実行しているので、
そういった点で処理が重い部分はあるかもしれません。

マップの描画に関しては、
1つのチップを1つのキャラクターとして描画する形になる為、
大量にチップを配置したマップでは処理が重くなる場合もありますが、
大きなチップはキャラクターで作ってしまい、
判定だけを見えないマップで行う等で、
全体的に処理を軽くする事ができます。

ZGEでは大きさよりも数の方が処理に影響してくるので、
画面が小さいなら、
1画面分を1つのグラフィックとして作ってしまった方が処理は軽くなります。



▲フレームが表示されない人はクリック