码迷,mamicode.com
首页 > 其他好文 > 详细

减少NGUI 3的DrawCall数量

时间:2014-07-07 13:29:36      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:使用   问题   不同的   ui   c   简单   

刚升级到NGUI3, 这下不打紧,DrawCall数由5个增长到了十七八个,想想应该不会是NGUI的问题吧。后来整理了一下,发现有两点: 
1.对于同一Atlas,DrawCall数取决于Panel的数量(实际上是UIPanel这个脚本的数量)。比如说,我有两个Sprite,这两个Sprite属于同一Atlas,但是位于不同的Panel下,这时候DrawCall 数是2, NGUI 2中则是1。使用建议就是只使用一个Panel。 
2.对于不同Atlas,同一Panel下的Sprite,可通过Depth调节显示层级,Z值不管用,这点跟NGUI 2中刚好相反。还有就是不同Atlas的Sprite 的Depth值尽量不要来回穿插。比如Atlas A中有两个Sprite a 和 aa,Depth分别为1,3;Atlas B中有两个Sprite b 和 bb, Depth分别为2,4, 则DrawCall 总数为4而不是2。(在NGUI 3中,你可以点击Panel ,在Inspector面板中看到每一个DrawCall的调用细节 ) 

简单的说就是DrawCall的数量不只跟Atlas的数量有关,还跟Atlas调用顺序有关,使用的时候最好只用一个Panel, 不同Atlas的Sprite Depth尽量不穿插。

注:最好同一Panel的东西,放到同一个Atlas里。

减少NGUI 3的DrawCall数量,布布扣,bubuko.com

减少NGUI 3的DrawCall数量

标签:使用   问题   不同的   ui   c   简单   

原文地址:http://www.cnblogs.com/chenxiaojian13/p/3815412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!