关于 roblox-performance
面向 Roblox 开发者的性能分析与调优技能,强调针对实测瓶颈进行优化,涵盖分析工具、性能目标、Parallel Luau、流式加载和移动设备测试。
主要功能
- 01分析脚本、物理、渲染、内存与网络
- 02设定性能目标并调查实测退化
- 03仅对分析确认的独立 CPU 任务使用 Actors
- 04了解 StreamingEnabled 的行为与配置
- 05分析移动设备上的图形和界面开销
适用场景
- 01查找脚本或渲染瓶颈
- 02调查持续增长的内存占用
- 03评估任务是否适合 Parallel Luau
- 04为低端移动设备优化 Roblox 体验
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-performance安装后在 Claude Code 中输入/roblox-performance确认已加载。
附带文件references/full.md
详细介绍
Roblox 性能
加载时机
用于性能分析和性能预算。对象池和生命周期模式:roblox-luau-patterns。
快速参考
性能分析工具
- MicroProfiler (Ctrl+F6):分解显示脚本、物理和渲染的帧耗时。
- Developer Console (F9):内存、网络、渲染和服务器统计信息。
- Script Profiler (Ctrl+Alt+F5):按脚本统计 CPU 和堆内存使用量。
- 标签:使用
debug.profilebegin/debug.profileend标记代码区域;使用debug.setmemorycategory标记内存。通过标志控制是否启用埋点。
性能目标
| 指标 | 初始目标 | 需调查的阈值 |
|---|---|---|
| 服务器心跳 | < 16ms | > 33ms |
| 客户端 FPS(桌面端) | 60 | < 30 |
| 客户端 FPS(移动端) | 45 | < 30 |
| 内存 | 因设备而异 | 持续增长 |
优化经测量的热点路径,不要依赖经验之谈。根据测量结果进行限流;发布后重新进行性能分析。
并行 Luau
- 只有在性能分析确认存在可隔离的 CPU 密集型工作后,才使用 Actors。
- 工作线程负责计算;对受限的 DataModel 进行写入前,先进行同步。
- 不要依赖 Actors 之间的共享模块状态。
SendMessage会复制数据;SharedTable 支持共享状态和原子更新。
热循环成本模型
- Luau 会优化全局导入;不要依赖函数提升或循环展开等经验之谈。环境的不纯性可能会禁用优化。除了 CPU,还要分析分配情况;GC 成本可能稍后才会产生。
对象池
预先克隆并重复使用。规范的对象池代码(令牌租约所有权):roblox-luau-patterns。
StreamingEnabled 要点
- 默认开启。按容器范围生效:只有 Workspace 的后代会进行流式传输。
ModelStreamingBehavior = Improved会将非 BasePart 后代与其父级 Model 一同传输;Legacy 只传输 BasePart。 - 流出 = 父级设为 nil,而不是销毁。若对象重新流入,Luau 引用仍会保留。
- 配置(Studio):目标默认值为 1024,最小值为 64;设置
StreamingIntegrityMode;根据数据进行调整。 - 注意事项:如果对象已流出,
FindFirstChild("DistantPart")会返回 nil。请使用带超时的 WaitForChild。
移动端
在低端设备上分析几何体、纹理、粒子、UI 和阴影。
含代码示例和 API 表格的完整参考:references/full.md
评论
支持 Markdown