这是我在《Unity游戏优化 (第2版)》看的,记录一下~
在Unity中,渲染状态本质是通过材质呈现给开发者的
那么材质是啥呢?
材质是着色器的容器
着色器又是啥呢?
着色器是一种用于定义GPU应该如何渲染输入顶点和纹理数据的简短程序
本身没有必要的状态信息来完成任何有价值的工作
需要诸如漫反射纹理、法线映射和光照信息之类的输入,并有效地规定了为了呈现传入的数据需要设置哪些渲染状态变量
PS:
着色器最初仅实现为处理对象的光照和着色
现在已经有额外的功能了,但是还用这个名字
其关系:
每个着色器都需要一个材质,每个材质必须有一个着色器
导入新场景中的网格,如果没有赋予材质,就会被自动赋予默认材质
如果需要对一个网格使用多个着色器,需要将多个材质赋予该网格的不同部位
如果想最小化渲染状态修改的频率,可以减少场景中使用的材质数量

Game窗口中的Stats弹出的 Batches 值共有8个批处理,该值严格等于渲染场景使用的Draw Call数量
(需要关闭影子显示以及静态动态批处理)
网友评论