调试与优化
本节介绍如何检查运行中的 PlayCanvas 应用,定位行为异常和性能问题,并提升加载与运行速度。
工具选择
| 想了解的内容 | 使用工具 |
|---|---|
| 代码执行了什么,在哪里出错 | 控制台日志和浏览器开发者工具 |
| 应用中的实体、组件、相机、资源和 GPU 资源 | Inspector |
| 一帧如何逐通道、逐调用渲染 | Inspector 的 Frame graph 标签页及逐步查看一帧 |
| 场景中边界、方向或渲染目标内容等计算结果 | 调试绘制 |
| 交互过程中是否保持稳定帧率 | MiniStats |
| 哪些帧较慢,瓶颈是 CPU、GPU、脚本还是加载 | Inspector 的 Performance 标签页 |
| 启动耗时,以及何时加载了什么 | Inspector 的 Performance 标签页,或编辑器 Profiler |
| 从代码读取引擎统计,构建面板或自动比较 | 使用 AppStats 分析性能 |
| GPU 在帧内执行的具体工作 | 通过原生 GPU 工具进行 GPU 性能分析 |
优化
优化是 PlayCanvas 应用开发的重要部分,直接影响用户体验。
提示
不要等项目接近完成才考虑优化,应从一开始就规划,因为它可能显著影响应用设计。
下面列出主要优化目标及其重要性:
| 目标 | 原因 |
|---|---|
| ⏱️ 缩短加载时间 | 用户耐心有限。应用加载过慢,用户可能放弃等待。 |
| 🎞️ 提升帧率 | 高且稳定的帧率带来流畅画面和低延迟输入响应。 |
| 🔋 降低 CPU 与 GPU 负载 | 稳定达到 60 FPS 并不意味着优化结束;降低负载可以节省电量,减少设备发热。 |
| 🧠 降低内存占用 | 浏览器可分配给应用的内存有限,耗尽后标签页可能崩溃并重新加载。 |
先测量,再优化
选择可重复的场景或交互,在目标设备上记录基线,再使用工具选择中的分析工具,在相同条件下测量每次修改。优化指南及后续页面介绍具体改进方向。
AI
向 AI 助手提供性能目标、可重复场景,以及 AppStats 基线报告。它可以结合 MiniStats 或浏览器证据,每次提出一个可测量的改进。编辑器项目可通过**编辑器 MCP 服务器重放输入;独立项目可遵循借助 AI 开发**中的方法。