导图社区 Shader优化
Unity Shader优化; 根据《OpenGL ES 3.x 游戏开发》一书总结 ; 性能优化;
Real-time Rendering_光照模型 未完待续,持续完善!
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Shader优化
Shader代码优化
着色计算的位置优化
CPU:顶点共享计算结果的值
顶点着色器:不影响画质的情况,可以放在此处计算
片元着色器:基于像素的计算,效果最好性能最耗
着色计算的代码优化
代数方法简化计算,例如:sqrt(2*(x+1)) => 1.414*sqrt(x+1)
尽量使用内建函数,例如:归一化向量(normalize),点积(dot),向量折射(refract)等,这些函数大都是硬件实现
使用矩阵运算,可以简化运算
使用合适的精度,精度要和纹理图质量相吻合
简单计算的函数不应该使用函数封装,直接使用代码即可
避免使用discard函数(非常消耗资源的操作),可以通过Alpha混合达到效果
减少或者避免使用分支语句,换成顺序执行的语句
CPU与GPU在硬件架构上很大差异:CPU利于顺序执行任务,GPU利于流式计算
纹理优化
纹理图不要太大,建议 Size<= 256*256;
2的n次方:这样更多的设备兼容,计算速度也最快
合并碎图:驱动程序加载纹理的时候,仅需加载一次
压缩纹理:更快的运算速度,更小的存储空间
尽量使用颜色模式小的纹理
压缩
伺机开启mipmap:内存换取更好的画面效果并提高采样效率
性能消耗:线性采样 > 最近点采样
多使用Tiling
采样
主题