项目使用了自定ttf及系统字体,
一直发现FPS貌似波动有点大,在没有额外高负荷的任务的情况下。
最近在看loader源码,调试时发现LoadingItems数量有点不正常,一直保持着几十个的队列,但看Network请求又是0。
然后跟了下是谁请求创建,然后就是ttf.js里的:
对ttf字体,有可能会触发cc.loader.load,
然后cc.loader.load会创建LoadingItems,
然后_updateFontFamly是在updateRenderData里调用,
意思是每一帧有可能触发创建LoadingItem …
另外,LoadingItems本身有一个容量为10的Pool,这个问题导致Pool基本不起作用。
修改为:
测试结果
修改前FPS:54.x ~ 60.x
修改后:58.x ~ 60.x,基本保持59以上。
