Unity Shader——移动端Shader的优化(Optimize Shader)
2016-11-01 15:28
513 查看
本篇参考书《Unity Shaders and Effects CookBook》。
首先讲简单的Shader Cheap Shader,轻量级Shader主要是内存占用量,贴图使用量,还有数据使用量来优化。
下面详细讲讲那些优化
float:32位浮点数据,对应的值有float2,float3,float4,后面的数据代表数组,比如float2(1.0f,1.0f)
half:16位浮点数据,使用与存储uv数值,颜色数值,比使用float值快很多,对应的值有half2,half3,half4
fixed:12位定点数,用于灯光颜色的计算,对应的值有fixed2,fixed3,fixed4.
下面我们举例两种类型的改变:
更改后:
颜色计算:
关闭渲染附加通道:
指定渲染:
类似的还有:
去掉法线贴图的输入,使用UnpckNormal共享uv。
首先讲简单的Shader Cheap Shader,轻量级Shader主要是内存占用量,贴图使用量,还有数据使用量来优化。
下面详细讲讲那些优化
1.改变变量类型(降低内存)
首先讲一下几种变量类型:float:32位浮点数据,对应的值有float2,float3,float4,后面的数据代表数组,比如float2(1.0f,1.0f)
half:16位浮点数据,使用与存储uv数值,颜色数值,比使用float值快很多,对应的值有half2,half3,half4
fixed:12位定点数,用于灯光颜色的计算,对应的值有fixed2,fixed3,fixed4.
下面我们举例两种类型的改变:
一:改变uv数值类型,由float改为half
更改前:更改后:
二:改变灯光颜色计算中的数值类型
灯光计算:颜色计算:
2.关闭渲染附加通道(reduce lights Shader process)或者直接指定渲染
关闭渲染附加通道:指定渲染:
类似的还有:
3.共享UV(Sharing UVS)
去掉法线贴图的输入,使用UnpckNormal共享uv。
4.根据Unity自带的性能分析器控制
相关文章推荐
- Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术
- unity中的移动端优化小结
- Unity优化大全(六)之 GPU-动态阴影和Shader
- 关于Unity中GrabPass截屏的使用和Shader的组织优化
- Unity优化大全(六)之 GPU-动态阴影和Shader
- [shader]Unity 移动端海面
- Unity Shader: 优化GPU代码--用step()代替if else等条件语句。
- Unity移动端性能优化
- Unity移动端优化总结
- [Unity] Shader的几种优化方式
- unity ShaderForge 移动端与PC端表现不同
- Unity优化大全(五)之 GPU-动态阴影和Shader
- Unity移动端性能优化
- Unity Shader中顶点坐标的大小似乎会受到Draw Call合批的影响
- Unity中的优化技术
- Unity Shader Example 18 (Fresnel)
- unity shader 流水效果
- Unity+NGUI性能优化方法总结
- Unity+NGUI性能优化方法总结
- Unity手动漫游(移动端)