menu
 
バージョン
2023.1.12.8706

2024.1.4.8780

2023.1.12.8706

2022.1.18.8567

2021.1.14.8108

2019.2.15.7667

2019.1.11.7296

2018.1.11.6987

2017.2.10.6745

2017.1.9.6501

2016.2.6.6153

2015.1.9.5624


menu_open

CPU使用の最適化

Wwiseでオーディオのオーサリングを行う際にCPUの使用量は大きな関心事です。パフォーマンスと品質のバランスも同じく重要です。さらに、複数のプラットフォームを対象にオーサリングする場合は各プラットフォームの技術的制限や要件などを意識すると同時に、付随するその他のソフトウェアに要するCPUリソースにも配慮する必要があります。

WwiseにはCPU使用に影響する機能やプラグインが多数あります。このセクションの各トピックでCPU使用に影響する代表的な要素を提示し、CPU最適化に有効なさまざまな戦略やベストプラクティスを提案します。基本的にはProfiler( プロファイリング 参照)を利用してCPUパフォーマンスを監視し、対処すべき要素を判断し、このセクションのガイドラインをスタート地点として解決策を探るという流れです。

どのWwiseプロジェクトにも違いがあり、使用できるCPUリソースはプラットフォームごとに異なり、品質やパフォーマンスの要件もさまざまなため、あらゆるケースで適用できる具体的なガイドラインや推奨案を一式揃えることはできません。あなた自身が実験し、Wwiseで自分のサウンドを聞いて最適な設定を判断する必要があります。CPU使用に大きく影響する要素は以下の通りです:

  • 同時に起きるボイス数。ボイス数、特にフィジカルボイス数がCPUに与える影響は大きいです。この数が増えるにつれCPU使用も増えます。

  • エフェクト。WwiseのオーディオエフェクトはCPUを消費しますが、消費量は具体的なエフェクトや、エフェクトを使用する場所、そしてレンダリングされているかどうかによって異なります。

  • オーディオコーデック。コーデックを使用したオーディオファイル変換はCPUを消費し、一部のコーデックはほかよりも多くのCPUリソースを必要とします。

  • スペーシャルオーディオ。3D音響を制御するさまざまなオプションや設定がCPU消費に大きく影響することがあります。

次のセクションから、これらのトピックを詳細に説明します。

CPU使用のモニタリング

WwiseのCPU使用量に寄与する変数が多数あるため、すべてのケースでCPU使用を簡単に最適化できるような方法というものはありません。あなたのプロジェクトに関連するさまざまな要素に考慮し、許容されるCPUの使用レベルを決め(プラットフォームによって異なることも)、Wwise Profilerを使用してCPUを最も多く消費するプロパティや設定を特定したうえで適宜調整する必要があります。最終的には、CPUと品質のちょうどよいバランスを自分で判断するしかありません。

一般的なアプローチとしてProfiler( プロファイリング 参照)を使用してキャプチャーセッション中のパフォーマンスをモニタリングし、全体的なCPU使用状況やピークを特定してから、CPU使用量に寄与する具体的な要因をAdvanced ProfilerやPerformance Monitorで確認します。特に以下の点に注意します:

  • Advanced ProfilerのCPUタブに、セッション中にCPU使用量に寄与したすべての要素が表示されます。どのプラグインや、オーディオコーデックや、エフェクトなどがCPUリソースを最も消費しているのかを特定することができます。

  • Performance Monitor Settingsダイアログで名前にCPUを含む関連項目を選択します。以下のオプションをグラフやリストの一方または両方で確認できると、便利です:

    • CPU - Plug-in Total

    • CPU - Total

    • Spatial Audio - CPU

    • Spatial Audio - Path Validation CPU

    • Spatial Audio - Portal Path Validation CPU

    • Spatial Audio - Portal Raytracing CPU

    • Spatial Audio - Raytracing CPU

これらのオプションをAdvanced ProfilerとPerformance Monitorで組み合わせて表示させることで、キャプチャーセッション中のCPU消費の状態を総合的に把握できます。どのような要因がCPU使用量に寄与しているのかを特定した後に、このセクションのほかのトピックにある各種提案を採用してあなたのプロジェクトのパフォーマンスを最適化してください。

ボイスの最適化

同時に起きるフィジカルボイス(つまり実際に再生されるサウンド)の数はCPU使用量に大きく影響します。ボイスに使用するCPUリソースの量を削減するためには、以下の設定を使用して同時に起きるボイス数を減らします:

  • Playback limits で同時に再生することができるサウンドのインスタンス数の最大数を決定します。

  • Priority でPlayback limitを超過した際にどのサウンドをキル(kill)するのか、またはバーチャルボイス動作に送信するのかを決定します。

  • Virtual voices はランタイムに発生したものの、定義されたボリューム閾値未満であるため、または定義されたPlayback limitsを超過したため、実際には再生されないサウンドです。Virtual voiceの推奨動作は"Kill if finite else virtual"です。「Advanced Settingsタブ:アクターミキサーオブジェクト」 を参照してください。

詳しくはプライオリティ(優先度)の管理を参照してください。

エフェクトの最適化

エフェクトはCPUリソースを消費します。一般的にCPU使用量は同時再生されるエフェクトのインスタンス数が増加するほど増えますが、それ以外にも以下のように点を考慮します:

  • チャンネル数 。CPU使用量はオーディオチャンネル数に応じて増加し、チャンネル数はオーディオバスによって異なります。例えばモノラルサウンドに対するエフェクトインスタンス3つ(3チャンネル)の方が、7.1バスに対するエフェクトインスタンス1つ(8チャンネル)よりも少ないCPUリソースを使用します。

    さらにObject Processorなどのような特定のエフェクトは1バスインスタンスに対し、インスタンス化されるのは1回だけです。エフェクト、オーディオオブジェクト、バスなどの詳細は 「Audio ObjectにEffectを使用」 を参照してください。

  • エフェクトのタイプ 。エフェクトタイプによって使用するCPU量が異なります。リバーブエフェクトは特殊なケースで、ほかのエフェクトの大半はチャンネル数の増加に伴い線形増加するのに対し、リバーブエフェクトの増加率は比較的平坦です。リバーブエフェクトの中でもリバーブの種類によってCPU使用量が異なり、例えばMatrix Reverbの方がRoomVerbより使用するCPUが少量ですが、オプション数は少ないです。CompressorやParametric EQなどのほかのエフェクトの方がリバーブエフェクトよりも少ないCPUを使用します。

  • エフェクトのレンダリング 。エフェクトのCPU使用を削減する1つの方法に、エフェクトをレンダリングすることでそれ自体をWEMファイルの1部とする方法があります。エフェクトをレンダリングすることでSoundBankクにパッケージングする前に処理されるため、ランタイムに処理能力を消費しません。レンダリングに適したエフェクトを特定するためには 「Integrity Report」 を利用します。Optimizationsオプションを選択してレポートを実行します。レンダリングの詳細については 「エフェクトのレンダリング」 を参照してください。

  • エフェクトのバイパス 。特定の状況でしか適用されないエフェクトがある場合は、選択的にバイパスすることができます。例えばディストーションエフェクトがゲームの特定プレイヤーステートの時だけに発生するような場合は、RTPCを使用し、プレイヤーステートを監視するゲームパラメータにリンクしたバイパスエフェクトを適用できます。

オーディオコーデックの最適化

Wwiseはオーディオファイルの圧縮と解凍にオーディオコーデックを使用します。通常、プロジェクトのメモリ予算内に収めるために、オーディオファイルを圧縮する必要があります。ただしコーデックはCPUリソースを必要とし、最も高品質のオーディオを出すコーデックは一般的に、最も多くのCPU使用を使用します。使用するコーデックを決定する際、CPU使用量、メモリ使用量、ストレージ容量、そしてオーディオ品質をバランスよく検討する必要があります。

複数のプラットフォームに対応する必要がある場合は、Conversion Settings ShareSetsを通してプラットフォームごとに異なるコーデックを使用できます。詳しくは「Creating audio Conversion Settings ShareSets」を参照してください。

Wwiseは以下のコーデックに対応しています:

  • PCM はオーディオコーデックではなく、非圧縮のファイルフォーマットです。高品質の音を提供し、最小限のCPU処理能力を使用しますが、多くのストレージ容量を必要とします。

    CPU使用量を最小限に抑えるために、このフォーマットを使用するのは反復する単発の音や高忠実度オーディオとします。

  • Vorbis は適度なCPUリソース量で良質のオーディオを提供する人気のコーデックで、Wwiseではインタラクティブメディアやゲーミングプラットフォーム向けに最適化されています。

    このフォーマットはファイルを解凍するたびにある程度のCPU容量を必要とし、CPU使用量を最小限に抑えるためには頻繁に繰り返されるオーディオファイルに使用しません。それ以外のタイプの音であれば、Vorbisが適していることが多いです。

  • Opus はVorbisと同程度の品質のオーディオを、より高いファイル圧縮率で提供します。ただしVorbisより多くのCPUリソースを必要とします。ダイアログやアンビエンスなど、繰り返されない長いオーディオソースに便利です。Opusファイルのデコードについては Wwise SDK のプラットフォーム固有のセクションを参照してください。

  • ADPCM は圧縮率が高く、最小限のCPU容量を使用しますが、品質が犠牲となります。モバイルプラットフォームに使用し、CPU使用量やランタイムメモリを最小限に抑えます。

スペーシャルオーディオの最適化

Wwiseで「スペーシャルオーディオ」と呼ぶのは疑似3D環境における音に関する各種設定やコンフィギュレーションのことで、アテニュエーション(減衰)、ディフラクション(回折)、リフレクション(反射)などを指します。スペーシャルオーディオではさまざまな観点でCPU処理能力を必要とするため、品質とパフォーマンスの程よいバランスを決めるために、いくつもの選択肢を試す必要があります。

Wwise AuthoringのProperty EditorのPositioningタブに多くのオプションがあります(詳細は 「Positioning タブ: Actor-Mixerオブジェクト、Interactive Musicオブジェクト」「Positioningタブ: Audio Bus、Auxiliary Bus」 を参照してください)。

スペーシャルオーディオはエミッタやリスナーのポジショニング、音の減衰、3Dオブジェクトからの反射音、回折など、数多くの計算のためにCPU処理能力を使用します。スペーシャルオーディオのエフェクトや設定の可能な組み合わせは数多くあり、CPU最適化のための単純なガイドラインは存在しません。ただしProfilerでスペーシャルオーディオが大量のCPUリソースを消費していることが判明した場合、以下の案が有効かもしれません:

  • スペーシャルジオメトリをできるだけシンプルに保つようにします。三角形の数やディフラクション(回折)エッジ数を最小限に抑えます。

  • 音のアテニュエーション(減衰)を有限とします。最大アテニュエーション半径が大きくなるにつれ、パスを検索するために必要なCPU処理能力が増加します。有限のアテニュエーションカーブが最大距離に到達した時点で、カーブはプロジェクト設定で設定した可聴閾値未満となります。

  • 遠すぎて聞こえないサウンドは再生を避け、アテニュエーション半径よりも遠くに移動して戻らないサウンドは停止します。

  • シーン内にある独立した部分を隔離するために、ルームやポータルを活用します。

  • スペーシャルオーディオを初期化する時に、CPU使用を制御するために以下の Spatial Audio Initialization Settings を設定することができます:

    • CPUロードバランシングを使用します。

    • リフレクションやディフラクションを計算する要件である動きの閾値を上げることで、精度を犠牲にしながらもCPU使用量を減らします。

    • レイトレイシング(raytracing)エンジンで使用するプライマリーレイ(primary rays)数を減らします。

    • 最大リフレクションオーダーを減らします。多くの場合、1次や2次で充分です。

    • ディフラクションオーダーを減らします。4ではじめますが、2や1でも充分なことがあります。

スペーシャルオーディオの詳細は、CPU最適化に関する提案も含め、以下のドキュメントを参照してください:

CPUの最適化に関するその他のリソース

本ドキュメントのほかにも以下に示す通り、CPU最適化に関する情報を提供するリソースがいくつかあります:


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう