版本:Unity 6 (6000.0)
语言:English
对来自 AssetBundle 的着色器重复进行疑难解答
调试着色器

控制着色器使用的内存量

在构建的应用程序中,Unity 存储多个压缩的着色器在 GPU 上运行的程序。 更多信息
参见 术语表
变体数据“块”。每个块包含多个着色器变体。当 Unity 在运行时加载场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上讲,将游戏分段设计和构建。 更多信息
参见 术语表
时,它会将场景的所有块加载到 CPU 内存中并对其进行解压缩。

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

为此,在播放器设置允许您为 Unity 生成的最终游戏设置各种特定于播放器的选项的设置。 更多信息
参见 术语表
中,选择其他设置 > 着色器变体加载并调整以下设置

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

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

您可以使用覆盖为每个平台单独覆盖这些值。有关更多信息,请参阅PlayerSettings.SetShaderChunkCountForPlatform

您还可以使用Shader.maximumChunksOverride在运行时覆盖默认块计数

对来自 AssetBundle 的着色器重复进行疑难解答
调试着色器