标签:blog http 使用 strong 数据 sp 2014 问题 c
在Unity中,每次引擎准备数据并通知GPU的过程称为一次Draw Call。Draw Call值越低,会得到更好的渲染性能。
NGUI 查看Draw工具(NGUI-OPEN-Draw Call Tool)
NGUI 方面的Draw Call 优化:
(1) 打包图集
一、每个材质/纹理的渲染一定是会产生DrawCall的,这个DrawCall只能通过打包图集来进行优化。
二、从功能角度进行划分,例如UI可以划分为公共部分,以及每个具体的界面,功能上,显示上密切相关的图片打包到一起
(2)渲染顺序
一、 U3D的渲染是有顺序的,NGUI的渲染顺序是由我们控制的,控制好NGUI的渲染顺序,你才能控制好DrawCall。
二、 一个DrawCall,表示U3D使用这个材质/纹理,来进行一次渲染,那么这次渲染假设有3个对象,那么当3个对象都使用这一个材质/纹理的时候,就会产生一次DrawCall。假设3个对象使用不同的材质/纹理,那么无疑会产生3个DrawCall。
例子:
A,B使用材质1,C使用材质2,这时候会有几个Draw Call?
有两种情况,3个Draw Call:
A:材质1
B:材质2
C:材质1
第二种情况,2个DrawCall
A:材质1
C:材质1
B:材质2
渲染顺序:Unity默认会按照控件的Depth来渲染。从后往前渲染,当使用相同材质的控件会合并为一个Draw Call。如果和前一个材质不相同则会重新产生一个Draw Call。所以会有上面两种不同的结果,如果同一个界面有更多的空间存在时,这个问题会更明显。在UI制作的时候就需要特别注意这一点。
标签:blog http 使用 strong 数据 sp 2014 问题 c
原文地址:http://www.cnblogs.com/Oceanou/p/4001650.html