Wwise SDK 2021.1.14
|
注釈: Wwiseバージョン2019.2で、メモリマネージャを刷新しました。以下の手順は、バージョン2019.2以降に該当します。 |
Wwiseサウンドエンジンのメモリアロケーションは、主に、サウンドエンジンの初期化の際にサイズ固定で行われる数件のメモリアロケーションと、ダイナミックアロケーションの、2つのグループに分けられます。
サイズ固定のアロケーションの一部は、初期化パラメータによって制御できます。以下は、init-timeで制御できるメモリアロケーションです:
このうち、一番重要なのはuIOMemorySizeです。このストリーミングバッファサイズは、同時に再生するストリーミングサウンド数の上限や、サウンドのビットレートや、ストリーミングするサウンドの時間の安全幅などに基づいて設定してください。8MBというデフォルト値は、一部のゲームでメモリの無駄遣いとみられるかもしれませんが、多めにスタートし、メモリ消費量が具体的に分かってきてから減らしていくのが最適の方法です。ストリーミングバッファメモリの詳細については、 Audiokinetic ストリームマネージャ初期化設定 を参照してください。
サウンドエンジンによって行われる様々なメモリアロケーションを、よりよく理解するために、 AkMemID に記載されたメモリアロケーションのカテゴリに関するドキュメンテーションを参照してください。各カテゴリの数値は、Wwise Advanced Profiler ViewのMemoryタブに表示されています。
デバグ専用のアロケーションはMonitor QueueカテゴリとProfilerカテゴリで行われますが、これらはリリース版で使われません。この2つのカテゴリのサイズを引けば、リリース版のメモリ消費量の予測がつきます。
注釈: Memory タブで、ゲームに接続せずにWwise自体からプロファイル情報を取り込んで、サウンドエンジンメモリの使用量を調べることもできます。 |
サウンドエンジンが行うメモリアロケーションの合計は、 AkMemSettings::uMemAllocationSizeLimit 初期化パラメータで制御できます。上限を設定しておくと、メモリ不足の状況がいつ発生したのかによって、サウンドエンジンの対応が異なります。例えば、以下のようなシナリオにおけるメモリ不足の場合、次のような事象が発生します:
Wwise Profiler を使用すると、ゲーム中で発生するあらゆるメモリ割り当ての失敗に対して、警告通知がキャプチャログに送信されます。この通知のリストを確認すれば、ゲームプレイ中にメモリ上限に達したときに、どのメモリカテゴリが関係していたのかが分かります。
以下のような事項により、メモリの使用率が高くなります:
警告: メモリのピーク使用量を確認するためにテストを実行するときは、必ずゲームのスピーカーセットアップのコンフィギュレーションを、最大のコンフィギュレーションにしてください(例えばPCシステムのオーディオアウトプットデバイスを使う場合は、7.1にします)。これが必要なのは、スピーカーのセットアップをステレオにすると、サウンドエンジンがある程度の最適化を行い、マルチチャンネルコンフィギュレーションのときよりもメモリ使用量が減るからです。 |
更なる詳細は以下のセクションからご覧いただけます: