关于PC web端 场景切换的卡顿问题

卡顿的时机的从主场景切换到战斗场景的时候。
主要特征是第一次切换不是很明显(40% CPU),但是第二次之后每次场景切换时会非常卡(80% CPU),帧数掉到个位数,会持续好几秒之后才会恢复(恢复需要的时间也越来越长)。
我在loadScene之前已经preloadScene过主场景和战斗场景。
目前我的场景有很多UI组件只是一个壳,是在根组件的onLoad事件里面根据prefab动态instantiate出来的。反复出现的节点我也使用了对象池。
我在chrome的CPU profile中检测到measureText(好像是文字占用空间计算相关?)占用最多,而触发这个函数的来源大多数是我初始化一个组件时候的逻辑(JS.mixin.emit, val.set)。为这些属性赋值的消耗也这么大吗。。。
实在不知道如何优化了,崩溃中。。。

你文字中哪个模式占的比较多?一般说来,shrink会比较慢,如果能用其他模式实现效果,建议不要用shrink

我一般NONE或者RESIZE_HEIGHT。
然后是使用的自己的字体文件。
还有一个小问题。就是我不时的对一个文字节点设置string为同一个字符串,也会触发这种消耗大的计算嘛?那我要在各个地方加入检查了。。。。

NONE 或者 RESIZE_HEIGHT 也会 measureText 吗?

@496863906 应该不会的,底层有判断是否重复设置的字符串
@jare NONE会,RESIZE_HEIGHT如果有overflow就会

那我单行的label应该尽量使用RESIZE_HEIGHT并且分配足够的宽度是嘛。。。

大大!我终于找到原因了,我把自己的字体撤掉,使用系统字体,性能吊的飞起!!看来是字体文件的原因
字体为 腾祥嘉丽细黑简

@zilong 麻烦看看为什么自定义字体会这么卡