工作整理笔记_关于DrawCall省资源问题
1.特效贴图与材质球上使用最少的贴图数量与材质球数 是省资源的2. 关于特效设计上在元素的选择与搭配上合理的使用素材根据要求可以自己去绘制素材
风格设计色彩 节奏 其他的新想法
3. 做Prefab文件优化的时候 一定要在脚本sprite area 和动画优化完成后进行也就是 这个步骤是在最后一 步 进行的否则文件会出现错误 甚至场景崩溃
4. 特效模型面片的alpha值最后一定要key透明消失掉之前出现过在移动端不消失的情况导致留下了残影循环 动画貌似没有什么影响可以忽略
5.特效在最后优化的时候 材质球和贴图数量 模型面片数量 都会影响到Draw Call的数量因此材质球和图集的 数量尽量少 特别涉及到Add 和Alpha模式的时候尽量将相同材质球贴图使用的放在一起
更快的被加载刚好的状态转换
材质球的数量减少是Unity更容易进行批处理
不可能同时出现的东西 不要放在一个图集里意义不大减少不了Draw Call 并且会一直占用内存
图集不要太大一个大图集文档DrawCall的消耗往往能顶上十几个小图集
材质反光和阴影等属性也会增加物体的渲染次数 消耗内存
6.fixed timestep与物理计算有关 计算频率太高会影响到CPU的开销
7.mesh collder 网格碰撞器对于复杂的网站模型碰撞检测比应用原型碰撞器检测精确的多 内耗高 性价比低
8. 压缩图片的目的是适应显存带宽降低GPU的损耗
9.Mipmap 会占用内存 也会优化显存带宽 在不同的远近场景不同的调用保证了场景的质量和加载速度
10.DrawCall绘制回调 Unity每次在准备数据并通知GPU渲染的过程被称为一次DrawCall
每一次DrawCall 中除了在通知GPU渲染上比较耗时之外 切换材质与shader也是非常耗时的操作 DrawCall的
次数是决定性能比较重要的指标
对于IOS平台来说 DrawCalld 此时次数应该控制在20以内
11. saving by batching 这个值主要是针对mesh的批处理值越高就会越消耗资源
12.对于模型 mesh的合并问题 有个插件 Draw Call Minimizer
13.UI 默认的NGUI制作工具中一个Atlas对应一个DrawCall
14.CPU与GPU的通信主要在两个时候
1.读写资源(Map/Unmap)
2.Draw Call 的调用 这些通信都会变成Driver发给显卡的命令
谢谢楼主分享~
资源甚好,且阅且珍惜!
感谢分享
不错不错
页:
[1]