说到游戏性能,这是一个永恒的话题。在游戏开发的过程中,性能问题一直是我们研发需要关注的一个节点。当然,说句客观话,很多程序员在写代码的时候,是不会过多的在意其代码的性能的。其实这是一种很危险的思想,一个不断进阶的程序员,需要持续的关注自己的代码质量,同时需要借助工具来反查自己编写的代码质量。很多初阶的程序员,在编写代码的时候,是单纯的以完成任务为目标的,其实在写完后,可以没事翻看以前自己的代码,就会有很多不一样的视角。比如,代码的整洁性是否注意,可读性是否有注意,注释是否有相应的标写,这是一个基本的代码规范。
除了基本代码规范,进一步的需要考虑的是代码的质量,也就是性能是否有消耗,是否写出一些消耗较大的逻辑。对于性能的优化,就需要相应的性能工具来进行计算和统计,不然所谓的性能优化都属于自我安慰,没有数据支持。
下面我回忆总结一下自己参与的一些性能优化工作,也算一个个人总结吧。
一、对lua导出表的优化
这是我最早而且持续时间最长的一个优化工作。在我们的游戏中,策划会有大量的配置表,全都配置在excel表中,通过编写导表工具,可以将excel表导出为对应的lua表,用于在游戏中进行lua表的加载和查找。我总结一下优化的几个节点:
1、最初版本的导表
最初版本的lua导表,是将excel中对应的key-value值逐一导出,其基本的格式可以表示为:
local skill = { {Id = 1, CD = 5, SkillTarget =1,...} {Id = 2, CD = 3, SkillTarget =2,...} {Id = 3, CD = 6, SkillTarget =1,...} }