Unity新UI系统UGUI与NGUI效率对比

    

在贴图的批处理上,NGUI的做法比较死板,依然是根据让多个图片打成一个图集,然后通过不同的UV坐标来进行绘制图集上的精灵。因此,NGUI在极限情况下,能够做到整个UI只消耗一个DC。但同时这也带来了一个弊端,就是在UI动画的效率上,会很低。当界面有动画时,UIPanel的CPU占用率会急剧上升,并出现跳帧情况,让总体的帧率方差变大。而新UI系统则用了另外一种做法,去除图集的概念,并对相同图片进行合并,在极限情况下,画10个不同的图片,最少需要消耗10个DC。当两个相同的图片的深度之间,需要绘画其他UI并与这两个图片的任意一个有像素交叉时,这两个图片不进行合并,因此,对于动画的效率,要比NGUI高,跳帧情况少,帧率较为稳定。

   另个较大的变化是,因为去除了图集,所以新UI就解决了NGUI中,图集出现大量黑色空白区域的问题,总体减少了内存占用。

   资源打包上,因为新UI的图片资源全都是零散的单个图片,因此很难做到动态载入一个UI预设,因为需要关联的图片太多,步骤比较复杂。可能需要考虑所有UI资源常驻。经过计算测试,对于一般的手游来说,基本可以应付。若要进行较好的优化,则需要进行动态加载,需要把每一张图打成一个包,最后根据情况,动态加载图片。


最终结论是,若游戏中,静态UI偏多(即没有多少UI动画)则用NGUI效率较高,若动态UI偏多(UI动画多且频繁),则UGUI效率要高出很多


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值