空瞳的移动端测试体系 · 基准移植、调度与性能实测
测试做扎实, 数字说清楚。
- 基准移植
- 调度与频率
- 手机性能实测
- SPEC CPU
- Geekbench
- 鸿蒙
最近写的
- 鸿蒙SPEC CPU
SPEC 测试执行器的鸿蒙实现
SPEC 工作负载的计算代码只是测试系统的一部分。把它放进鸿蒙应用以后,还需要准备输入、建立执行环境、控制生命周期、测量耗时、检查输出,并把这些信息关联成一条可以复查的结果。我们在 SPEC CPU2017 与 CPU2026 的应用中,将这些职责放在执行器里:ArkTS 管理任务,原生层执行负载,校验层决定结果是否可以参与统计。
约 9 分钟 - 鸿蒙GFXBench
GFXBench 图形测试的鸿蒙移植
我们把 GFXBench 的 Aztec Ruins 图形负载接入鸿蒙应用时,将工作分成了两个部分:ArkTS 负责测试选择、资源准备、运行页面和结果保存,原生层负责图形上下文、场景初始化、渲染循环及计分。两部分通过 NAPI 交换测试描述和结果,通过 XComponent 提供的 NativeWindow 连接系统显示链路。
约 8 分钟 - 鸿蒙内存带宽
MemStorageBench 在鸿蒙上测量内存带宽与存储吞吐
MemStorageBench 把内存和存储测试拆成两项独立负载:内存带宽测量固定复制工作量产生的数据流量,顺序存储测量固定文件在连续读写中的吞吐。界面显示速率、耗时和校验状态,每个结果都保留对应的工作量、单位与测量方法。
约 8 分钟 - 鸿蒙性能监控
MonitorHarmony 手机端性能监控的实现
运行图形测试或日常应用时,我们希望在手机上直接看到帧率、CPU 频率、内存和功率的变化,并把这段过程留存下来。MonitorHarmony 将这项工作分成三条链路:采集系统与目标应用的数据,向主界面和悬浮窗发布状态,保存完整会话并生成历史图表。
约 10 分钟 - 鸿蒙手机测试
PC 端如何为鸿蒙测试建立高性能环境,并保持被测设备亮屏
测试前由 PC 端 HdcPerfController 通过 HDC 启动设备 SP_daemon,用 -lockfreq 建立高性能采集会话,并管理屏幕常亮:协议命令、保活与停止顺序、恢复记录,以及 SGU-AL10 上 16 份独立频率快照和两小时屏幕覆盖的实测。
约 7 分钟 - 鸿蒙调度
鸿蒙上的单核调度:让核心选择真正作用于计算负载
在鸿蒙上做单核测试时,界面上的核心选择要沿着调用链真正落到计算线程。本文记录 QoS、sched_setattr/uclamp 与 affinity 的请求与回读方式、各基准的运行期维护与恢复策略、编译配置,以及 SGU-AL10 上 SPEC CPU2017/2026 与 Geekbench 6/7 的单核实测曲线。
约 10 分钟