Version: Unity 6.0 (6000.0)
言語 : 日本語
アセットバンドルによるシェーダー複製のトラブルシューティング
シェーダーのデバッグ

シェーダーのメモリ使用量の制御

Unity は、ビルドしたアプリケーション内に、圧縮されたシェーダーバリアントデータの複数の “チャンク” を格納します。各チャンクには複数のシェーダーバリアントが含まれます。Unity は、ランタイムにシーンをロードする際に、全てのシーンのチャンクを CPU メモリ内にロードし、それらを解凍します。

メモリ制限のあるプラットフォームでメモリ使用量を削減するために、チャンクのサイズと、Unity がメモリ内に保持する解凍されたチャンクの数を制限することができます。

これを行うには、Player settings で、Other Settings > Shader Variant Loading を選択し、以下の設定を調整します。

  • Default chunk size (MB) を使用して、ビルドされたアプリケーション内に Unity が保存する圧縮チャンクの最大サイズを設定します。
  • Default chunk count を使用して、Unity がメモリに保持する解凍チャンクの数を制限します。デフォルトは 0、つまり制限はありません。

詳細については、PlayerSettings.SetDefaultShaderChunkCount を参照してください。

Override を使用して、各プラットフォームの値を個別にオーバーライドできます。詳細については、PlayerSettings.SetShaderChunkCountForPlatform を参照してください。

また、Shader.maximumChunksOverride を使用して、ランタイムに Default chunk count をオーバーライドすることも可能です。

アセットバンドルによるシェーダー複製のトラブルシューティング
シェーダーのデバッグ