Unity NGUI教程:Draw Call 初步理解
发表于2017-03-28
在初步讲解 Draw Call 时需声明一下,在这里所说的只是我自己对NGUI中Draw Call 的理解,如果有说错或是理解错误,麻烦各位一起提出来讨论 ^^
网路上常常可以看到这种说明
Draw Call 是在评估效能时一个相当重要的指标
Draw Call 越高代表越吃效能,相对的 Draw Calls 越低代表效能越好
但什麽是 Draw Call ?
一个 Draw Call,等于一次从 Shader 到显示之间的转换
渲染场景时,在 Unity 当中已经帮我们省略了很多步骤
来看看以下这个场景
场景中有两个简单的平面共用同一个材质 Material_1
Draw Call 为 2
原因是两者的材质共用,所以渲染路径相同
将其中的一个材质替换为 Material_2 后 ( Material_1、Material_2 Shader 相同 )
场景中的 Draw Call 变为 3
说明了就算 Shader 相同,渲染路径不同一样会造成 Draw Call 的产生
看到这裡对于前面几篇中的图集是不是突然有所理解
因为相同图集内的图片都会对应到同一个材质
所以透过将图片打包成图集来降低 Draw Call 的产生
接下来看看简单的 NGUI 场景
场景中有多张图片
但 Draw Call 维持在 2
这就是将图片整理打包成图集的好处
但 NGUI 并不是万能的
之后会来提提在 NGUI 中 Draw Call 的陷阱