一个类传奇项目的背包优化记录

简述

一个类传奇项目的背包优化记录。
环境:cocos+lua

记录

这是印象比较深的一次优化。
当时是因为背包格子数量从几十个变成几百个,导致很卡顿。
接手这个系统后,经过分析是有几方面的原因。

1 ui加载问题 一开始使用的是异步加载的形式生成所有物品列表的节点,和刷新节点数据。
几十个还好,变成几百个,想要一两帧内创建和初始化节点就会导致卡顿,再去滑动就会显得卡顿加载很慢。
考虑到打开速度和滑动响应需求,最后参考网上文章用scrowview实现了tablelist这个控件 。
Cocos的Scrowview就是一个带有裁剪功能,内含一个可拖动图层的控件。
通过监听触摸事件对内层进行拖动,内层移动时会派发事件,只要监听滑动事件就可以判断格子的位置,去调整位置复用节点,并重新初始化数据。

2 代码逻辑 装备优先级提醒 上一位是直接每次获得新装备的循环角色所有槽位的装备,计算评分。
瞬间获得的装备量一大,就会整个游戏卡死。
这里完全可以把最新评分缓存起来,而且装备数据上是有槽位的,也不用去循环角色的装备列表。

3 历史遗留问题 页游改的,配置全部从服务端发过来,很依赖链接稳定性,这样一来背包物品就不能及时初始化,所以是先把物品配置本地化

你可能感兴趣的:(工作总结)