レッスン 7
目次
Windows用に、メモリリソースの消費予測とメモリ配分ができましたが、レッスン 5でプラットフォーム別の除外設定をかなり行ったので、メモリ消費も変わってくるのではないでしょうか?
その通りです。デフォルトで、AkWwiseInitializationSettingsのAssetファイルに設定されたMemory Pool設定はすべてのプラットフォームに適用されますが、モバイルデバイス用にアクティブボイスやエフェクトなどの数を削減してきたので、メモリ消費も、それ相応に変化します。そのような場合、Memory Poolを細かく設定し、iOSやAndroidなどのハードウェアパフォーマンスが下がるプラットフォームでメモリ消費を最小限に抑えることができます。
これは、Wwise Adventure GameをiPhone 6S (iOS) で実行したときのプロファイリング結果です。
それでは、WAGでプラットフォームを変更したときに消費量が一番変わる可能性があるのはDefaultとLower Engineの2つのメモリプールなので、上記メモリ消費に合わせて、これらのメモリプールの設定を調整していきます。
-
WAG UnityプロジェクトのHierarchyビューで、WwiseInitalizerというゲームオブジェクトが選択されていることを確認します。
-
Inspectorで、AkWwiseInitializationSettingsというAssetファイルをダブルクリックします。
それでは、新しいStreaming Pool Sizeをアサインし、少しヘッドルームを持たせます。
-
Common User Settingsリストで、Default Pool Sizeプロパティを展開します。
参照先のWwise Projectで設定したすべてのプラットフォームのリストがあります。ここで有効にしたプラットフォームでは、プロパティの一番上に表示されたメモリプール値が使われますが、無効にすると、新たなメモリプール値を設定できます。
-
Default Pool Sizeプロパティで、Android_High、Android_Low、iOSのプラットフォームを無効にします。
-
Android_High、Android_Low、iOSのプラットフォームの横の値は、1 250 000に設定します。
同じ作業をLower Engineメモリプールでも繰り返してください。
-
Common User Settingsリストで、Lower Engine Pool Sizeプロパティを展開します。
参照先のWwise Projectで設定したすべてのプラットフォームのリストがあります。ここで有効にしたプラットフォームでは、プロパティの一番上に表示されたメモリプール値が使われますが、無効にすると、新たなメモリプール値を設定できます。
-
Lower Engine Pool Sizeプロパティで、Android_High、Android_Low、iOSのプラットフォームを無効にし、これらプラットフォームを7 400 000に設定します。
特定のプラットフォーム専用の機能があればメモリ消費にさらに差が出てくるので、その場合は必ずメモリプール予測を再計算してください。