课时 31 · 性能优化与调试
课时 31 · 性能优化与调试(高级进阶与开服):能定位并解决常见性能问题。示例跑在 996 新三端引擎里,接口按本地官方文档逐个核对。
本课的代码跑在 996 引擎里,用到的是服务端接口(changeexp、 SetInt 这类),在线运行器里没有这些函数。 每个函数的签名都能在 文档检索 里按名字查到原文。
本课目标
- 能定位并解决常见性能问题。
知识讲解
调试手段:release_print 打印消息到控制台是最基本的输出;本地文档还提供脚本变量日志开关(跟踪指定变量的读写)、微秒定时器(高精度计时)等调试工具。线上问题排查顺序:先看控制台报错与行号,再查变量日志,必要时用微秒定时器统计耗时。
示例:控制台调试输出
release_print('打印内容')
release_print('玩家', actor, '金币', querymoney(actor, 1))
来源:本地文档 接口\系统\打印消息到控制台.md、脚本开启变量日志开关.md、微秒定时器初始化.md。
性能要点:一、循环与遍历优化:避免每帧/每触发全量遍历大表,能用索引查询就不用线性扫描;二、避免阻塞与死循环:不要在触发回调里写 while true 空转,长任务拆给定时器分步执行;三、合理使用定时器:个人定时器数量与频率按需设置,用后即移除;四、资源管理:客户端纹理、控件用完释放,避免频繁创建销毁。
压测方法:用全局定时器按固定频率调用被测逻辑并统计耗时,或使用文档提供的微秒定时器接口测量单次执行时间;对比优化前后的耗时数据验证效果。
练习任务
- 对功能脚本压测并优化耗时点:选一个遍历背包的逻辑,统计 1 万次执行耗时;改用按索引/预索引方式优化后复测,记录两组数据对比。
参考:验收要点
- 压测前先确定基线(优化前耗时);
- 优化项可说明(如避免每次遍历、减少重复查询);
- 优化后耗时显著下降并记录数值;
- 优化不改变功能结果(前后输出一致)。
本篇依据
- 《996 新三端 Lua 开发教学技术手册》课时 31
- 本地文档 接口\系统\打印消息到控制台.md、脚本开启变量日志开关.md、微秒定时器初始化.md
参数与取值以你本机版本的官方帮助文档为准,不同版本之间有过调整。