如题类似排行榜需要格式化字符串,而label用多了又会卡爆,怎么破。
求大神给个思路。
label 用多了卡爆? 你用了多少个 label? 测试平台是什么? 你使用的 creator 版本是?
一页显示十几个人,每个人用一个prefab,里面有杀敌数,杀人数,积分等8项动态信息,大概150个左右。。。drawcall180+
android4.2小米。
creator用的老版本1.2.2
建议如果是显示分数可以用 BMFont,这种适合每帧需要动态修改的情况,如果是显示静态的文字,可以用系统字体或者 TTF 字体。
是一次性实例化了那么多的prefab,还是先加载了十几个prefab,然后循环使用?官方好像有例子展示
因为是排名信息,需要时时更新,每次都是排名信息更新然后去实例化prefab
感觉应该不是 label 卡的问题,而是你每次有排名信息更新就去实例化 prefab 导致的,你可以考虑用 NodePool 把 prefab 缓存起来,然后复用这些 prefab,不要在游戏运行的过程中去实例化,这样当然会卡爆。
频繁刷新100行以上的label或richText的string属性是会严重拖慢帧率,已测试。
1赞
干嘛刷新这么多。 界面显示得下吗。。
比如做战斗信息的显示,必然是需要很多行的即时刷新,你打怪一下,怪打你一下,战斗纪录轻松就超过100行。而且是放在scrollView里面,方便玩家回看。还有聊天窗口,这个时候就会频繁刷新大块的string。而且,richText比label对性能的要求要高很多。
我最近在写这方面的东西,也为这个困扰着,希望能有好的解决办法。
有朋友说应该每一条建立一个新的richText,而不是刷新整块,还没有尝试,有朋友做过吗?求剧透,求脱坑。
手动写一个tableview