UGUI的text赋值问题-速度
仅是简单的给一个ugui.text组件不断的赋值字符串,就会带来很高的CPU消耗,约0.5MS左右。
这个过程主要是消耗在字体的MESH顶点重建。
在游戏中变化的字体一般不多,聊天面板虽然变化,刷新率不高(MOBA游戏)
然后就是金钱变化的显示,网络延迟的显示,FPS的显示。
优化想法:对于字符串长度不发生变化的串,只需要更新每个字符的UI (重新获取该字符在字体图集中的UV)
,并不重建MESH。
这种做法的问题是:每个字符在图集中并不是等宽的,因此显示出来就会有宽有窄,非常难看。
其实重建MESH也不会带来多少额外消耗。
经测试,自己实现的字体绘制,CPU耗时约为0.13MS (5个字符,对比上面使用UGUI.TEXT的0.5ms).
更好的优化方法是:使用美术字,类似序列图的方式播放字符。这种方式在速度和效果上都优于前面两种方法