NGUI drawcall分析

在同一个UIPanel下,有三个UISprite,如果他们的depth不同,请问这个UIPanel占几个DrawCall?

答:1个 (正解)

如果在在这个UIPanel下加一个UIlabel,请问这个UIPanel占几个DrawCall?

答:2个(不全面)

第二个问题为什么是不全面的回答呢,因为经过我的研究发现,如果这个UILabel的depth在三个Sprite的depth之间,也就是 sprite1.depth<=label.depth<=sprite2.depth,都会导致该UIPanel的drawcall变成3个,那这又是为什么呢,通过研究NGUI的源码我发现了问题的原因,具体大家可以看看UIPanel脚本里面的FillAllDrawCalls()函数,就是这样。。。。

 

posted @ 2015-02-06 11:48  万方洲  阅读(206)  评论(0编辑  收藏  举报