unity中NGUI制作UI界面的小建议

NGUI和UGUI的渲染方式是不同的,UI界面的拼接也是有差别的,这里就只说NGUI拼接UI界面相关的事项

一.NGUI中的drawCall统计规则:
(1)一个UITexture就是一个单独的drawCall
(2)每个Panel就是一个drawCall
(3)相邻的depth的相同图集 合成一个drawcall(如果相邻的depth使用不同的图集,drawcall不能合并,每个图集就单独计为一个drawcall)

二.NGUI中的刷新规则:
(1)首先对UiPanel,按照depth进行排序
(2)然后对每个panel下的UIWedget按照depth进行排序
(3)NGUI的渲染是在“透明度”序列中(即 Transparent,渲染顺序是从后往前渲染 )
(4)depth越小,越先渲染,depth越大越后渲染:所以在屏幕上看到的结果是depth最大的在最上面

三.如何调试和确认NGUI中drwacall存在的问题:
请参考如下网址的内容
https://zhuanlan.zhihu.com/p/66720884

四.优化建议:
(1)拆分Panel。多添加一个panel会多增加一个drawcall,但是会减少界面中mesh重建渲染线程的压力,避免整个UI界面的重建(仅仅重建此panel下的内容)。多增加一个drawcall ,减轻渲染线程的压力!!!!!!!!!!!!
(2)避免depth的打断。相邻的depth,使用相同的图集,中间不插入其他图集,保证drawcall的合并。
(3)z值的大小不会影响渲染的顺序,请留意。
(4)动静分离。不会改变的UI设置为static(有风险请慎用)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值