
网罗开发 (小红书、快手、视频号同名)
大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。
图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG
我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验 。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。
展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索"展菲",即可纵览我在各大平台的知识足迹。
每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
文章目录
-
- 引言
- [一、鸿蒙 PC 的性能问题为什么越来越复杂](#一、鸿蒙 PC 的性能问题为什么越来越复杂)
- 二、性能监控到底监控什么
-
- [Device Layer 负责:](#Device Layer 负责:)
- [Runtime Layer 负责:](#Runtime Layer 负责:)
- [State Layer 负责:](#State Layer 负责:)
- [Task Layer 负责:](#Task Layer 负责:)
- [UI Layer 负责:](#UI Layer 负责:)
- 三、真正导致卡顿的往往不是渲染
- [四、鸿蒙 PC 性能监控体系应该怎么设计](#四、鸿蒙 PC 性能监控体系应该怎么设计)
- [五、Task 监控实战](#五、Task 监控实战)
- 六、状态监控才是未来重点
- [七、Workspace 监控](#七、Workspace 监控)
- [八、AI Runtime 为什么必须监控](#八、AI Runtime 为什么必须监控)
- 九、性能分析工具体系
- 十、一个完整性能监控架构
- [十一、为什么 AI 会重构性能监控体系](#十一、为什么 AI 会重构性能监控体系)
- 十二、总结
- 总结
引言
很多团队开始做鸿蒙 PC 性能优化时,第一反应往往是:
text
是不是渲染慢?
是不是 ArkUI 卡?
是不是设备性能不够?
于是开始:
- 到处打日志
- 频繁抓 Trace
- 看 CPU 占用
- 看内存曲线
结果看了半天:
text
CPU 正常
内存正常
GPU 正常
但用户还是觉得:卡。这时候你会发现一个很现实的问题:
性能问题不等于资源问题。
很多鸿蒙 PC 项目真正的问题不是:
text
资源不够
而是:
text
状态流失控
而这也是为什么:
性能优化的前提,一定是性能监控。
因为:
text
看不到
就优化不了
一、鸿蒙 PC 的性能问题为什么越来越复杂
过去移动 App:
text
页面
↓
接口
↓
渲染
性能问题相对简单,而鸿蒙 PC 开始出现:
- 多窗口
- Workspace
- 分布式同步
- AI Runtime
- 长生命周期 Task
- 持续状态系统
系统结构变成:
text
Task
↓
State
↓
Store
↓
Workspace
↓
ArkUI
这意味着:
性能问题已经不只是渲染问题。
而是:
text
Runtime 问题
二、性能监控到底监控什么
很多团队监控体系只有:
text
CPU
Memory
FPS
这远远不够,鸿蒙 PC 至少应该监控五层:
text
Device Layer
Runtime Layer
State Layer
Task Layer
UI Layer
Device Layer 负责:
text
CPU
GPU
Memory
Disk
Network
例如:
text
CPU持续90%
说明:
text
可能存在死循环
Runtime Layer 负责:
text
Workspace数量
Task数量
Agent数量
例如:
text
同时运行200个Task
即使 CPU 不高:
text
系统依然可能变慢
State Layer 负责:
text
状态数量
状态变更频率
Store更新频率
例如:
ts
store.update()
每秒:
text
1000次
UI 一定会抖动。
Task Layer 负责:
text
Task耗时
Task失败率
Task排队长度
例如:
text
AI任务执行30秒
用户会认为:
text
系统卡死
UI Layer 负责:
text
FPS
Frame Time
Render Cost
Build Cost
这是用户最直接感知的一层。
三、真正导致卡顿的往往不是渲染
这是很多团队最后才发现的事情,例如:
ts
@Observed
class OrderStore {
orders: Order[] = []
}
当:
text
订单同步
发生时:
ts
orders.push(...)
看起来很正常,但如果:
text
5000条数据
连续同步,会发生:
text
Store更新
↓
UI更新
↓
Build重算
↓
Layout重算
↓
Render重算
最终:
text
FPS下降
问题根本不在 GPU,而在:
text
状态流
四、鸿蒙 PC 性能监控体系应该怎么设计
推荐一个非常稳定的结构:
text
MonitorCenter
├── DeviceMonitor
├── RuntimeMonitor
├── TaskMonitor
├── StateMonitor
└── UIMonitor
统一入口:
ts
class MonitorCenter {
static report(
event: PerformanceEvent
) {}
}
所有性能事件:
text
统一采集
统一分析
统一上报
五、Task 监控实战
很多鸿蒙 PC 项目未来都会进入:
text
Task Runtime
例如:
ts
await taskCenter.run(
"GenerateReport"
)
这时候必须记录:
ts
class TaskMetric {
taskId: string
startTime: number
endTime: number
}
执行:
ts
const start = Date.now()
await task.run()
const end = Date.now()
上报:
ts
monitor.report({
type: "task",
duration: end - start
})
最终可以得到:
text
最慢任务
平均耗时
失败率
六、状态监控才是未来重点
很多项目最大问题:
text
状态雪崩
例如:
ts
userStore.update()
触发:
ts
orderStore.update()
继续触发:
ts
workspaceStore.update()
最后:
text
一次操作
几十次刷新
所以必须记录:
ts
class StateMetric {
storeName: string
updateCount: number
}
监控:
ts
monitor.report({
store: "UserStore",
count: 1
})
最终得到:
text
最频繁更新Store
七、Workspace 监控
传统 App 不需要,但鸿蒙 PC 必须要有。因为:
text
Workspace
才是系统核心,例如:
ts
class WorkspaceMetric {
workspaceId: string
taskCount: number
stateCount: number
}
实时统计:
text
当前Workspace
活跃Task
状态数量
否则:
text
运行一天后
性能一定出问题
八、AI Runtime 为什么必须监控
未来很多鸿蒙 PC:
text
Agent
长期运行,例如:
ts
await agent.run(
"整理会议记录"
)
内部可能:
- 调数据库
- 调网络
- 调文档
- 调搜索
如果没有监控:
text
根本不知道AI卡在哪
推荐:
ts
class AgentMetric {
promptTokens: number
completionTokens: number
duration: number
}
统计:
text
Token消耗
响应时间
成功率
九、性能分析工具体系
真正上线项目一般都会有三层工具。
第一层:日志
最基础:
ts
hilog.info(...)
记录事件:
text
Task
Store
Workspace
第二层:Trace
分析:
text
函数耗时
线程切换
任务执行链路
查看:
text
关键路径
第三层:Runtime Dashboard
这是很多团队忽略的,推荐建立:
text
Performance Dashboard
展示:
text
FPS
Task
Workspace
Store
Agent
实时数据,否则:
text
只能靠猜
优化。
十、一个完整性能监控架构
推荐未来鸿蒙 PC 项目:
text
User Action
↓
Task
↓
State
↓
Workspace
↓
UI
每层:
text
都必须可观测
对应:
text
Task Monitor
State Monitor
Workspace Monitor
UI Monitor
形成完整链路。
十一、为什么 AI 会重构性能监控体系
过去:
text
一次点击
一次渲染
监控:
text
FPS即可
未来:
text
一次Intent
↓
几十个Task
↓
上百次状态变更
↓
多个Workspace同步
这时候:
text
FPS只是结果
真正的问题发生在:
text
Runtime内部
所以未来性能监控核心一定会变成:
text
Runtime Monitoring
而不是:
text
Render Monitoring
十二、总结
如果一句话总结鸿蒙 PC 性能监控:
监控的不是页面,而是 Runtime。
过去:
text
性能 = FPS
未来:
text
性能 =
Task效率
+
状态效率
+
Workspace效率
+
AI效率
+
渲染效率
这才是完整视角。
总结
很多团队优化鸿蒙 PC 时,第一步就开始:
- 优化渲染
- 优化动画
- 优化组件
但最后发现:
text
效果有限
因为真正的瓶颈往往不在 UI,而在:
text
Task
State
Workspace
Agent
Runtime
后来我们才慢慢意识到:
鸿蒙 PC 的性能优化,本质上已经从"页面优化",变成了"Runtime 治理"。
未来真正重要的监控对象不再只是:
- CPU
- 内存
- FPS
而是:
- Task Flow
- State Flow
- Workspace Runtime
- AI Runtime
- Distributed Runtime
因为未来的软件:
text
不再是页面集合
而是:
text
持续运行的状态系统
而性能监控,就是观察这个系统是否健康运行的"仪表盘"。