perf-profile
$
npx mdskill add pixel-cellar/Claude-Code-Game-Studios/perf-profile当此技能被调用时:
SKILL.md
.github/skills/perf-profileView on GitHub ↗
---
name: perf-profile
description: "结构化的性能分析工作流。识别瓶颈、与性能预算对比测量,并生成带有优先级排序的优化建议。"
argument-hint: "[系统名称 或 'full']"
user-invocable: true
allowed-tools: Read, Glob, Grep, Bash
---
当此技能被调用时:
1. **确定范围**根据参数:
- 如果是系统名称:专注于该特定系统的分析
- 如果是 `full`:对所有系统进行全面分析
2. **读取性能预算** — 检查设计文档或 CLAUDE.md 中是否有现有性能目标:
- 目标 FPS(例如 60fps = 16.67ms 帧预算)
- 内存预算(总量和按系统)
- 加载时间目标
- Draw Call 预算
- 网络带宽限制(如果是多人游戏)
3. **分析代码库**中的常见性能问题:
**CPU 分析目标**:
- `_process()` / `Update()` / `Tick()` 函数 — 列出所有并估算开销
- 大集合上的嵌套循环
- 热路径中的字符串操作
- 每帧代码中的分配模式
- 未优化的游戏实体搜索/排序
- 每帧执行的昂贵物理查询(射线检测、重叠检测)
**内存分析目标**:
- 大型数据结构及其增长模式
- 纹理/资源内存占用估算
- 对象池 vs 实例化/销毁模式
- 泄漏的引用(应该释放但未释放的对象)
- 缓存大小和淘汰策略
**渲染目标**(如适用):
- Draw Call 估算
- 重叠透明物体导致的过度绘制
- 着色器 (Shader) 复杂度
- 未优化的粒子系统
- 缺失 LOD (Level of Detail) 或遮挡剔除 (Occlusion Culling)
**I/O 目标**:
- 存档/读档性能
- 资源加载模式(同步 vs 异步)
- 网络消息频率和大小
4. **生成性能分析报告**:
```markdown
## 性能分析:[系统或全面]
生成日期:[日期]
### 性能预算
| 指标 | 预算 | 估算当前值 | 状态 |
|------|------|-----------|------|
| 帧时间 | [16.67ms] | [估算值] | [正常/警告/超标] |
| 内存 | [目标] | [估算值] | [正常/警告/超标] |
| 加载时间 | [目标] | [估算值] | [正常/警告/超标] |
| Draw Call | [目标] | [估算值] | [正常/警告/超标] |
### 发现的热点
| # | 位置 | 问题 | 预估影响 | 修复工作量 |
|---|------|------|---------|-----------|
| 1 | [文件:行号] | [描述] | [高/中/低] | [小/中/大] |
| 2 | [文件:行号] | [描述] | [高/中/低] | [小/中/大] |
### 优化建议(按优先级排序)
1. **[标题]** — [优化描述]
- 位置:[文件:行号]
- 预期收益:[估算值]
- 风险:[低/中/高]
- 方案:[实现方式]
### 快速见效(每个不到 1 小时)
- [简单优化 1]
- [简单优化 2]
### 需要进一步调查
- [需要实际运行时分析来确定影响的领域]
```
5. **输出报告**并附带摘要:前 3 个热点、相对于预算的估算余量,以及建议的下一步行动。
### 规则
- 不要先测量就优化 — 对性能的直觉是不可靠的
- 建议必须包含预估影响 — "让它更快"不具有可操作性
- 在目标硬件上进行分析,而不仅仅是开发机器
- 区分 CPU 瓶颈、GPU 瓶颈和 I/O 瓶颈
- 考虑最坏情况(最大实体数、最低配置硬件、最差网络条件)
- 静态分析(本技能)识别候选;运行时分析确认
More from pixel-cellar/Claude-Code-Game-Studios
- architecture-decision创建架构决策记录(Architecture Decision Record, ADR),记录重大技术决策及其背景、备选方案和影响后果。每个重大技术选择都应有对应的 ADR。
- estimate通过分析复杂度、依赖关系、历史速度和风险因素来估算任务工作量。生成包含置信水平的结构化估算。
- localize运行本地化工作流:提取字符串、验证本地化就绪状态、检查硬编码文本,并生成可供翻译的字符串表。
- map-systems将游戏概念拆解为独立系统,映射依赖关系,确定设计优先级,并创建系统索引。
- milestone-review生成全面的里程碑进度审查,包括功能完成度、质量指标、风险评估和推进/暂停建议。在里程碑检查点或评估里程碑截止日期的准备情况时使用。
- patch-notes从 git 历史记录、Sprint 数据和内部更新日志生成面向玩家的补丁说明。将开发者语言转化为清晰、有吸引力的玩家沟通内容。
- playtest-report生成结构化的试玩报告模板,或将现有试玩笔记分析为结构化格式。用于标准化试玩反馈的收集和分析。
- project-stage-detect自动分析项目状态、检测开发阶段、识别缺失项,并根据现有工件推荐后续步骤。
- release-checklist生成全面的发布前验证清单,涵盖构建验证、合规要求、商店元数据和发布准备就绪情况。
- retrospective通过分析已完成的工作、速率、阻碍因素和模式来生成 Sprint 或里程碑回顾。产出可执行的洞见以指导下一次迭代。