在构建的应用程序中,Unity 会存储多个压缩着色器变体数据的“块”。每个代码块包含多个着色器变体。Unity 在运行时加载场景时,会将场景的所有块加载到 CPU 内存中并解压缩。
为了减少内存有限的平台上的内存使用量,可以限制块的大小以及 Unity 在内存中保留的解压缩块的数量。
为此,请在播放器设置 (Player settings) 中选择其他设置 (Other Settings) > 着色器变体加载 (Shader Variant Loading) 并调整以下设置:
0,这意味着没有限制。请参阅 PlayerSettings.SetDefaultShaderChunkCount 以了解更多信息。
可以使用__覆盖 (Override)__ 单独覆盖每个平台的值。请参阅 PlayerSettings.SetShaderChunkCountForPlatform 以了解更多信息。
还可以使用 Shader.maximumChunksOverride 在运行时覆盖__默认块数__。