包含此页的版本:
不含此页的版本:
着色器对象可以包含数百或数千个着色器变体Unity 根据着色器关键字及其状态的特定组合生成的着色器程序的版本。一个着色器对象可以包含多个着色器变体。更多信息
请参阅术语表.如果编辑器在加载着色器在 GPU 上运行的程序。更多信息
请参阅术语表对象,导入过程会非常慢。相反,编辑器会在第一次遇到着色器变体时按需编译它们。
编译这些着色器变体可能会导致编辑器停止几毫秒甚至几秒钟,具体取决于图形API和Shader 对象Shader 类的实例,Shader 对象是着色器程序和 GPU 指令的容器,以及告诉 Unity 如何使用它们的信息。将它们与材质一起使用,以确定场景的外观。更多信息
请参阅术语表.若要避免这些停滞,可以使用异步着色器编译在后台编译着色器变体,并同时使用占位符着色器对象。
异步着色器编译的工作原理如下:
以下例外情况适用:
DrawProcedural或CommandBuffer.DrawProcedural,则编辑器不使用占位符着色器。相反,编辑器只是跳过渲染此几何体,直到它编译了着色器变体。