版权所有,转载须注明出处!
喜欢火影、喜欢Java、喜欢unity3D、喜欢游戏开发的都可以加入木叶村Q群:379076227
这周有网友提到用NGUI做战斗冒血,冒伤害等文字性能太差。确实如此,我之前(NGUI 3.8.2,1000块的Android机器上)在Profile中也发现UIPanel占用CPU奇高。
因此最终自己在战斗飘文字这一块没有使用NGUI,而是自己创建Mesh来处理。优化前后在手机上每秒大概增加了10帧。
先看一下效果。
可以看到DrawCall和NGUI一样都为1。
这个 MeshText 就是我自己写的HUD文本组件了。
代码如下:
----代码暂时不公开,抱歉周五将公开。
关于这段代码应该没什么解释的,主要是关于三角形顶点计算、uv计算这些。随便找一篇创建Mesh的文章看完应该就可以看懂了。
虽然里面用到了NGUI的图集,但渲染和更新已经完全和NGUI无关了。
如果想改成不用NGUI的图集也可以。不过那时候比较懒,已经有图集了,就直接拿过来用咯。
不想用NGUI图集的可以自行修改掉。这样可以脱离NGUI运行。
完整工程(基于Unity3D 4.3.3 和 NGUI3.8.2测试)上传完将出现在这里。
时间: 2024-10-25 10:08:49