使用给定的渲染配置预热给定 ShaderVariantCollection 中给定 Shader 的着色器变体。
有关着色器加载和预热的更多信息,包括不同预热技术的列表,请参见 着色器加载。
如果您的应用程序在以下图形 API 之一上运行,Unity 需要更多信息才能正确构建着色器变体的 GPU 表示形式(“管道状态对象”或 PSO)
如果 Unity 拥有此信息,则预热的变体更有可能与 GPU 在渲染场景时所需的变体匹配。
要向 Unity 提供更多信息,您可以执行以下操作
setup
参数指定您在着色器中使用的顶点数据布局。WarmupShader
之前,设置渲染状态使其尽可能接近您在着色器中使用的状态。例如,设置 渲染目标的格式,或使用 渲染状态命令 设置诸如混合模式之类的状态。如果您的应用程序在支持该功能的平台上运行,Unity 还会使用多个后台线程异步预热着色器变体。Unity 会使用尽可能多的线程。在您的构建应用程序中,您可以使用 -max-async-pso-job-count
命令行参数 设置 Unity 使用的线程数。
其他资源:ShaderWarmup.WarmupShader、Shader.WarmupAllShaders、ShaderVariantCollection.WarmUp、着色器加载