您可以使用日志记录和性能分析工具来检查 Unity 编译了多少着色器在 GPU 上运行的程序。 更多信息
参见 术语表变体,并确定您可以删除(剔除)哪些变体以改善构建时间并减少内存使用量。您可以执行以下操作
您可以在场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
参见 术语表视图和游戏视图中生成编辑器使用的着色器变体列表。为此,请执行以下操作
构建项目后,打开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
如果您使用通用渲染管线一系列操作,这些操作获取场景的内容并在屏幕上显示它们。Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 术语表 (URP) 或高清渲染管线 (HDRP),请参阅以下内容
当 Unity 为 GPU 编译着色器时,它会在控制台窗口中打印Compiled shader
消息。
使用内存探查器模块或内存探查器软件包检查着色器在运行时使用了多少内存。如果着色器使用了大量内存,您可以尝试剔除其变体。
在 Unity 2022.2 及更高版本中,当材质尝试使用缺少的着色器变体时,您可以强制 Unity 在运行时显示粉红色的错误着色器。
您也可以在 C#脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以您喜欢的任何方式响应用户输入。 更多信息
参见 术语表中使用strictShaderVariantMatching
启用此功能。
执行此操作后,Unity 会在控制台中显示一条警告,其中包含缺少的变体及其关键字。您可以在剔除期间使用此功能来检查您是否没有删除项目所需的着色器变体。