こんにちは。
多くのご報告、誠にありがとうございます。
そして長く不自由な状況を強いてしまっていることにお詫び申し上げます。
さて直近のバージョンアップでのPlaystation2版対応についてお知らせがありますので、
こちらに事前告知させてください。また合わせて今後の方策などもコメントできる範囲でお答えします。
- メモリ配分について
前回のバージョンアップで実施しました「使用メモリ配分の調整」ですが、ある程度の改善は見込めたのですが、
別の進行不可が多く寄せられました。これを受けて、再度メモリ配分の調整を行います。
細部のデータシェイプアップなど微調整を含んでおりますが、全メモリ空間の上限は変化しませんので、
別の不具合が出る可能性があります。その場合、更なる改善は別の方策をとらざるを得ません。
- 今どこまでわかってるの?
まず、ある程度原因についてわかっていることそれぞれに対してコメントします。- ウェポンスキル(以下、WS)を撃ったり敵の技が引き金となってブラックアウトする
大量のプレイヤーキャラ(以下、PC)が同じ場所に存在している場合によく起こる現象です。
それぞれのPC装備品をメモリに読み込み、描画しようとするのですが、
描画のためのメモリに対して読み込み要求が多すぎると、システムがパンクしてしまうというものです。
特にWSは発動時に後から読み込むデータで、突発的に割り込んでくるために
メモリ要求へのインパクトとなりやすい挙動となります。
また、同じ装備品やWSデータはキャッシュが効きます(読み込み済みのデータを再利用する)が、
それぞれが違う装備や技だと、一層この原因によるブラックアウトが発生しやすくなります。
対処としては、PCの表示体数を制限する、一定数以上のPCは共通の表現
(大袈裟な表現で言うと、PC全員をクリスタルとして表示するとか)にして
メモリキャッシュを期待する、などが考えられます。
- マップの特定位置にくるとブラックアウト
報告のいくつかに、PCKワークスの近くでブラックアウトするという事例がありました。
こちらは本来はメモリの節約を期待した仕様が裏目に出てしまっているのが原因です。
屋内は外にいる限り見えませんので、普段は描画データそのものを持っておりません。
ですから、屋内に入る際には直前で屋内データを読み込む必要があります。
しかしこのとき、他にも大量の読み込み要求が重なった場合にPCの読み込みと
同様の挙動でパンクしてしまうことがあります。
通常、このデータ量はパンクしないように厳密にチェックはしておりますが、
地形データ以外の読み込みがメモリマネジメントの過程で足を引っ張っているように見えます。
対応としては、エリアを分ける、地形データを簡略化する、または先述したPCやNPCの読み込みを制限、
もしくはキャッシュ化するなどが考えられます。
- ミッションやクエストのカットシーンでブラックアウト
特定のカットシーンが再生される際にブラックアウトしてしまう事例です。
これは作りによっては完全にハマり状態になってしまうため、進行にかなりの影響を及ぼします。
今回の再配分は、このはまり状態があちこちで散見されたために実施するものです。
これに関してはイベント発生の際に、読み込むべきデータ量が多すぎると発生します。
本来は周囲のPCなどはあまり関係しませんが、イベント発生直前のメモリ状況が
オーバーフロー寸前の場合、ブラックアウトにつながりやすくなるようです。
改善のためには、カットシーンに読み込まれるデータを軽量化する、
あるいはこちらも先述したPCの表示の制限・キャッシュ化を進めるのがよさそうに見えます。
・・以上のように、おおよその原因はつかめているのですが、
対応方法がどれにしても個別対応により、作業と検証が長期化しがちなのと、
確率は下がるものの、メモリマネジメントによる処理のもたつきの多発や、
確実にブラックアウトを防ぐ保障とはならないリスクをはらみます。
- 次回以降の直近対応は?
そんな状況ではありますが、それでも打てる次の一手として、対策として挙げた
「PCの表示数制限」に関して、コンフィグ設定できるように作業を進行しております。
こちらは機能実装優先の案件として作業しますので、
コンフィグ方法がテキストコマンドの形式をとるかもしれません。
この機能実装時期はもう少々先になりますが、夏頃までには準備できるかと思われます。
以上、たいへん長文となりましたがご報告とさせていただきます。
今後も各部に関して対応は続けてまいります。
よろしくおねがいします。