Version: 6000.3
语言: 中文
对 AssetBundle 中的着色器重复进行故障排除
调试着色器

控制着色器使用的内存量

在构建的应用程序中,Unity 存储了几个压缩的“块”着色器在 GPU 上运行的程序。更多信息
请参阅术语表
变体数据。每个块包含多个着色器变体。当 Unity 加载场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
在运行时,它会将场景的所有块加载到 CPU 内存中并解压缩它们。

为了减少内存有限平台上的内存使用量,您可以限制块的大小以及 Unity 在内存中保留的解压缩块数。

为此,请在玩家设置设置,用于为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
,选择 其他设置(Other Settings) > 着色器变体加载(Shader Variant Loading) 并调整以下设置:

  • 使用 Default chunk size (MB) 设置 Unity 存储在构建的应用程序中的压缩块的最大大小。
  • 使用 Default chunk count 来限制 Unity 在内存中保留的解压缩块数。默认值为0,这意味着没有限制。

有关更多信息,请参阅 PlayerSettings.SetDefaultShaderChunkCount

你可以使用覆盖来单独覆盖每个平台的值。有关更多信息,请参阅 PlayerSettings.SetShaderChunkCountForPlatform

你还可以使用 Shader.maximumChunksOverride 在运行时覆盖 默认块计数(Default chunk count)。

对 AssetBundle 中的着色器重复进行故障排除
调试着色器