游戏中需要展示大量的文本。字符串里个别字符又需要上色和点击事件。使用富文本性能下降得太多,严重影响游戏体验。
我一开始是直接创建一个富文本,后面每次都是这个富文本string+=字符串。
后面改成了创建一个父节点,每一段字符串创建一个富文本,放进父节点里。
第一种卡顿得玩不了。
第二种严重卡顿,字符串长一点就直接卡死一回儿。
求问下有没有其他方法或者是否是我的操作不当?
var newnode = cc.instantiate(hh2);
newnode.parent = xin;
newnode.getComponent(cc.RichText).string=color(str);
sliding(tt1);
发个demo看看
在使用的时候才去实例化hh2有些晚了,现在的版本在实例化方面耗费的时间比之前长了,可以考虑使用对象池,1.避免大量的重复创建,2.缩短实例化耗费的时间。
实例富文本不消耗多少性能,string = “”,设置内容耗时长,当设置显示的值比较长时,耗时能达到0.5秒
。。。。。多少年了。确实目前富文本耗费性能最大的地方在于执行updateXXXX这个函数(记不住名字了)最消耗性能。
所以我直接用了label,不要呢点效果了 ,到现在都没管
牛逼啊 argb 都储存一个文字 理论上都是点阵 我怎么没想到
( 1. 更少的纹理占用,支持一张图的四个通道同时存储文字)