用途:这是 FiveM / RedM 的性能与网络优化专项技能,专注 resmon CPU 与网络字节,不是通用实现或 natives 百科。目标是降低 CPU、网络流量、事件刷屏与负载体积,同时保持同步正确、玩法不变。
主要能力:按需加载三份参考文档——profiling.md(测量、卡顿类型、resmon、profiler、neteventlog、验证)、fivem-networking.md(事件、latent、首次 GET 缓存、msgpack/JSON、routing/-1、state bags、回调、带宽计算)、lua-hotpaths.md(线程、Wait、natives、池、分配、NUI、GetPlayers、启动时 SQL 缓存)。提供 grep 检查清单,覆盖 CreateThread、Wait(0)、TriggerServerEvent/TriggerClientEvent/TriggerLatent、-1 广播、GetGamePool/GetActivePlayers、json.encode/decode、SendNUIMessage、MySQL/oxmysql、GlobalState/state bag、lib.callback/emitNet,并按 Critical/High/Medium/Low 分级。
默认原则:使用最长安全休眠,Wait(0) 仅用于真正逐帧工作;可观测状态优先事件驱动而非轮询;最小有效受众,仅当所有客户端都需接收时才用 -1;首次(加入/首次 GET/资源启动)发送完整负载后缓存,后续只发增量;资源启动或玩家加入时把数据库行载入服务端内存缓存,仅在数据真正变化时读写数据库;net 事件为 msgpack,额外 json.encode 是 CPU 开销;latent 仅用于大且非延迟敏感的负载;本 tick 缓存 natives,但不缓存必须实时的值;任何性能改动后服务端仍须校验 source、权限、数量、归属、距离、bucket、冷却;yield 前先捕获 local src = source。
使用方式:先识别游戏(FiveM/RedM/共用)与端(客户端/服务端/NUI),测量或标注估算,grep 检查清单并分类,打开对应参考文档后再提出修复,保留玩法、同步、routing bucket、权限、exports、NUI、框架状态,最后按报告格式给出前后对比并标注实测或估算。
限制:未知 native 签名须查 natives 参考,不得猜测;须校验 net ID,绝不信任客户端;不覆盖通用脚手架或 OneSync 漏洞百科;不得盲目优化、编造测量数据,也不得为省字节削弱服务端校验。删除事件前须搜索整个资源及依赖方,检查 exports、回调、NUI、框架集成与 state bag;若优化必须改变行为,须明确说明。