Unity Shader通用优化方法

fixed/half/float

位置坐标、纹理坐标类使用float。
HDR颜色、方向向量类使用half。
普通纹理、颜色类使用fixed。
现代桌面级GPU都是直接采用float, 不需要考虑性能。
现代移动端GPU大多支持half和float, 所以能用half就用half。

能在顶点着色器中处理的就在顶点着色器

少用多Pass

小心使用AlphaTest和ColorMask

AlphaTest
clip(),通常大多数平台使用AlphaTest会有性能优势,但在IOS和某些使用PowerVR GPU的Android设备上性能很低
ColorMask
在IOS和某些Android上性能很低

NoScaleOffset

贴图不需要条件Tiling和offset。

DisableBatching

禁用合批,默认值是flase。
如果在顶点山的计算需要在模型的本地空间下进行,则需要设置True,否在尽量使用默认flase。

GrabPass

GrabPass如果不指定贴图的名称,则每个对象的GrabPass都会每帧生成一次。
GrabPass如果指定贴图名称,则所有对象的GrabPass在一帧内只会生成一次。

ShaderLOD

利用ShaderLOD进行分级

<

你可能感兴趣的:(Unity渲染实战篇,shader,unity,渲染管线,游戏开发,游戏引擎)