サウンドエンジンの内部メモリプールのデフォルトサイズは非常に大きく、これは、初めてサウンドエンジンを使う時に、ワーストケースシナリオでも稼働できるだけの充分なリソースを確保しておくためです。
実際には、各プールのデフォルトサイズは以下の通りです:
16デフォルトメモリプールは、16 MB
16ロワーエンジンメモリプールは、16 MB
注記 | |
---|---|
ストリーミングマネージャを実装するためにサンプルコードを使用する場合は、ストリーミングバッファ用にも、8MBが配分されます。 |
デフォルトメモリプールのサイズは、最終的に作成するゲームの種類によって変わります。例えば、ゲームのオーディオアセットが合計数ギガバイトあっても、一度に4、5個以上を再生することが稀で、エフェクトも皆無または少数であれば、デフォルトメモリプールの必要メモリがより大きくても、ロワーエンジンメモリプールの必要メモリは小さいかもしれません。一方、ゲームのサウンド数は少なくても、全て同時に再生して、リバーブやエコーなど多くの環境エフェクトを使う場合、例えばファーストパーソンシューティングゲームなどでは、デフォルトメモリプールの必要メモリがより小さくなり、ロワーエンジンメモリプールの必要メモリはより大きくなるかもしれません。
ロワーエンジンメモリプールのサイズは、最終的にサウンドエンジンで何をするのかによります。ゲームで多数のボイスを同時に再生して大量のエフェクトを処理する計画であれば、このプールの必要メモリが増えます。
注記 | |
---|---|
これはバーチャルボイスも含みます! |
PCで、バンクがロードされずサウンドが再生されていない状態では、メモリ消費量が約150kBになると予想されます。正確なメモリ消費を知るには、Wwiseの、Profilerレイアウトで、Performance Monitorの、Total Used Memory(メモリ消費合計)の数値を確認してください。当然、ロードされるアセット数、再生されるボイス数、ゲームオブジェクトのポジション数などが増えると、この値も増えます。
それぞれのメモリプールに必要なメモリを左右する条件として、オーディオ品質、ロードするサウンド数、同時に再生するボイス数、サウンド構造の複雑性、使用するエンコード方式、処理するエフェクトのタイプと数、3Dポジションが設定されているサウンド数、Switch数など、多数あります。
必要なメモリを確実に知る唯一の方法は、以下の通りです。
各プールに、それぞれ任意のメモリをアサインする。可能であれば、まずデフォルトのメモリサイズからスタートする。
Wwiseをゲームに接続する。
サウンドエンジンの、Profileバージョンを使い、ビジーな(込み入った)ゲームシナリオを稼働させる。
Advanced Profilerの、Memoryタブを確認する。各プールに必要なサイズの目安が、Peak Used列で分かる。一般的に、それぞれのプールの最適サイズは、ピークのメモリ使用値よりも約15〜20%ほど大きい値となる。
Communications、Monitor、Monitor Queueの3種類のメモリプールのサイズを、合計から引く。これらのプールはデバッグ専用のメモリであり、リリースバージョンでは作成されない。これらのプールのサイズを除くと、リリースバージョンのメモリ使用量の目安がつく。
注記 | |
---|---|
ゲームに接続せずに、サウンドエンジンのメモリ使用量を簡単にプロファイリングすることもできます。キャプチャーセッションを開始して、Transport Control、またはSoundcasterで、イベントやオブジェクトを1つ以上、再生するだけです。これらのイベントやオブジェクトを再生する時のメモリ使用量が、Advanced Profilerの、Memoryタブに表示されます。 |