需求:微信小游戏项目中有一个即时的排行榜,可以显示排名比我高的一个好友信息。
问题:该需求需要把玩家的即时分数post给子域,子域进行渲染,主域update更新。由此造成了游戏内播放动画的卡顿,掉帧也很严重。
优化过程:
①一开始以为是update造成的性能消耗,后调整为5s刷一次,效果不明显。
②后来把子域做了优化,排名不变不渲染,效果也不是很明显。
③最终发现卡顿的主要原因在postMessage……
解决方式:
每次需要更新分数时,把postMessage延迟1s(该时间为了播放动画)再执行,完美流畅运行