Version: 6000.3
语言: 中文
着色器变体简介
条带着色器变体

检查你有多少个着色器变体

您可以使用日志记录和分析工具来检查有多少着色器在 GPU 上运行的程序。更多信息
请参阅术语表
变体 Unity 编译,并确定删除(剥离)变体以缩短构建时间并减少内存使用的方法。您可以执行以下作:

获取编辑器使用的着色器变体列表

你可以生成编辑器在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
视图和游戏视图。为此,请执行以下作:

  1. 转到 编辑(Edit) > 项目设置(Project Settings) > 图形(Graphics)。
  2. Shader Loading 下,您可以看到 Currently tracked: 旁边有多少着色器和着色器变体。
  3. 选择 保存到资产...(Save to asset...) 以创建着色器变体集合资产

获取 Unity 在构建时创建的着色器变体列表

构建项目后,打开Editor.log日志文件并搜索Compiling shader查看 Unity 编译和剥离哪些变体。例如:

Compiling shader "Sprites/Default" pass "" (vp)
    Full variant space:         8
    After settings filtering:   8
    After built-in stripping:   4
    After scriptable stripping: 4
    Processed in 0.00 seconds
    starting compilation...
    finished in 0.03 seconds. Local cache hits 0 (0.00s CPU time), remote cache hits 0 (0.00s CPU time), compiled 4 variants (0.09s CPU time), skipped 0 variants
    Prepared data for serialisation in 0.00s

如果您使用 Universal渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
(URP) 或高清渲染管线 (HDRP) 中,请参阅以下内容:

获取 Unity 在运行时编译的着色器变体列表

  1. 转到 编辑(Edit) > 项目设置(Project Settings) > 图形(Graphics)。
  2. 着色器加载(Shader Loading) 下,启用 日志着色器编译(Log Shader Compilation)。
  3. 生成项目时,启用开发版本开发版本包括调试符号并启用性能分析器。更多信息
    请参阅术语表
    构建设置中。
  4. 控制台窗口Unity 编辑器窗口,显示 Unity 或您自己的脚本生成的错误、警告和其他消息。更多信息
    请参阅术语表
    ,选择 编辑器(Editor) 并启用 完整日志(Full Log [仅限开发者模式])。
  5. 启动您构建的应用程序。

Unity 打印Compiled shader消息。

检查着色器在运行时使用了多少内存

使用内存探查器模块内存探查器包检查着色器在运行时使用的内存量。如果着色器使用大量内存,您可以尝试剥离其变体。

在运行时突出显示缺少的着色器

在 Unity 2022.2 及更高版本中,当材质尝试使用缺失的着色器变体时,您可以强制 Unity 在运行时显示粉红色错误着色器。

  1. 转到 编辑>项目设置(Project Settings> 播放器。
  2. 其他设置(Other Settings) 下的 着色器设置(Shader Settings) 部分中,选择 严格着色器变体匹配(Strict shader variant matching)。

您也可以在 C# 中启用此功能脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
strictShaderVariantMatching.

执行此作时,Unity 会在控制台中显示一条警告,其中包含缺少变体及其关键字。您可以在剥离期间使用它来检查您没有删除项目所需的着色器变体。

着色器变体简介
条带着色器变体