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