Unity_Shader高级篇_16_Unity Shader入门精要_减少draw call 数目

本文详细探讨了如何在Unity中优化Draw Call,包括理解CPU和GPU的影响因素,利用批处理技术减少Draw Call,以及GPU和内存带宽的优化策略。介绍了Unity的渲染分析工具,如渲染统计窗口、性能分析器和帧调试器,并讨论了针对移动平台的性能分析工具。文章重点讲述了动态批处理和静态批处理的原理、优缺点以及使用技巧,强调了共享材质和批处理注意事项。
摘要由CSDN通过智能技术生成

在Unity手册的iOS硬件指南(https://docs.unity3d.com/Manual/iphone-Hardware.html)中我们可以了解到iOS平台的硬件条件则相对统一。

影响性能的因素
(1)CPU:过多的draw cal。过多的Draw call。复杂的脚本或者模拟的任务。
(2)GPU:顶点处理:多的顶点,过多逐顶点计算·。
片元处理:过多片元(即可能是由于分辨率造成的,也可能是由于overdraw造成的),过多的片元计算。
(3)宽带:使用了尺寸很大且未压缩的纹理。分辨率锅盖的计算的帧缓存。

(1)CPU优化。
使用批处理技术减少draw call 数目。
(2)GPU优化。
减少需要处理的顶点数目:优化几何体。使用模型的LOD(Level of Detail)技术。使用遮挡剔除(Occlusion Culling)技术。
减少需要处理的片元数目:控制绘制顺序。警惕透明物体。减少实时光照。
减少计算复杂度:使用Shader的LOD(Level of Detail)技术。代码方面的优化。
(3)节省内存带宽。
减少纹理大小。
利用分辨率缩放。

Unity中的渲染分析工具
渲染统计窗口(Rendering Statistics Window)、性能分析器(Profiler)、帧调试器(Frame Debugger)。
渲染统计窗口(Rendering Statistics Window)来显示当前游戏的各个渲染统计变量,我们通过在Game视图右上方的菜单中单击Stats按钮来打开它,如下图可以看出,渲染统计窗口主要包含了三个刚面的信息:音频(Audio)、图像(Graphics)和网络(Network)。这里我们主要关注第二个方面。
这里写图片描述
这里写图片描述
这里写图片描述
性能分析器(Profiler)可以通过单击Window->Profiler打开,其中的渲染区域(Rendering Area)提供了更多关于渲染的统计信息,如下图给出了上图中场景的渲染分析结果:
这里写图片描述
性能分析器显示了绝大多数在渲染统计窗口中提供的信息,例如:绿线显示了批处理数目、蓝线显示了Pass数目等,同时还给出了许多其他非常有用的信息,例如:draw call 数目、动态批处理/静态批处理的数目、渲染纹理的数目和内存占用等。
结合

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值