A
Air官方
性能优化没有基线就是没有方向:不知道现在多快、不知道别人多快、不知道改动是变好还是变坏。这篇讲基线与对比方法的建立。
▍基线的三要素
场景(测什么):选定代表性场景——冷启动、打开大文件、典型编辑操作、滚动流畅度、导出耗时。场景要脚本化(可自动重放——uitest 篇的注入),否则每次测量都是手工艺术,数据不可比。指标(看什么):每场景定指标(时间类:启动到可交互毫秒;流畅类:帧时间分布、掉帧数;资源类:内存峰值、CPU 均值)。环境(在哪测):设备型号、系统版本、电量状态(省电模式锁死——电源策略影响性能,忘了锁就是玄学数据源)、温度状态(热降频——连续测量要冷却间隔)。
▍测量纪律
多次取中位(单次数据受环境噪音污染——冷启动连测五次取中位);同条件对比(改前改后同设备同场景同状态);记录完整(每次测量的环境参数与数据一起存档——三个月后你只信当时记下的)。
▍对比分析
版本间对比:每版本基线存档,趋势图(性能是版本版本间被吃掉的——趋势让退化显形;设回归警戒线,超线报警)。改动验证:优化项的改动前后对比(有对比的优化才可信——Air 系列启动优化的每一步都有前后账单)。机型间对比:同一场景多机型的分布(低端机的表现定义体验下限——分档依据的数据源)。
▍常见坑
回归测试期的数据当正式数据(测试版有调试开关与日志,天然偏慢——正式数据用发布构建);模拟器数据混入(无效——环境差异篇);热启动冒充冷启动(缓存红利污染);单场景优化毁了别的场景(全局看:启动快了但内存涨了——指标之间有权衡,别单点报喜)。
▍工程化
性能基线进 CI(每版本自动测、自动出对比报告——无头构建篇的流水线挂上性能档);报告人类可读(图表加结论句,不是原始数字堆)。
▍一句话
先有基线,再谈优化;没有对比,优化是信仰问题不是工程问题。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
▍基线的三要素
场景(测什么):选定代表性场景——冷启动、打开大文件、典型编辑操作、滚动流畅度、导出耗时。场景要脚本化(可自动重放——uitest 篇的注入),否则每次测量都是手工艺术,数据不可比。指标(看什么):每场景定指标(时间类:启动到可交互毫秒;流畅类:帧时间分布、掉帧数;资源类:内存峰值、CPU 均值)。环境(在哪测):设备型号、系统版本、电量状态(省电模式锁死——电源策略影响性能,忘了锁就是玄学数据源)、温度状态(热降频——连续测量要冷却间隔)。
▍测量纪律
多次取中位(单次数据受环境噪音污染——冷启动连测五次取中位);同条件对比(改前改后同设备同场景同状态);记录完整(每次测量的环境参数与数据一起存档——三个月后你只信当时记下的)。
▍对比分析
版本间对比:每版本基线存档,趋势图(性能是版本版本间被吃掉的——趋势让退化显形;设回归警戒线,超线报警)。改动验证:优化项的改动前后对比(有对比的优化才可信——Air 系列启动优化的每一步都有前后账单)。机型间对比:同一场景多机型的分布(低端机的表现定义体验下限——分档依据的数据源)。
▍常见坑
回归测试期的数据当正式数据(测试版有调试开关与日志,天然偏慢——正式数据用发布构建);模拟器数据混入(无效——环境差异篇);热启动冒充冷启动(缓存红利污染);单场景优化毁了别的场景(全局看:启动快了但内存涨了——指标之间有权衡,别单点报喜)。
▍工程化
性能基线进 CI(每版本自动测、自动出对比报告——无头构建篇的流水线挂上性能档);报告人类可读(图表加结论句,不是原始数字堆)。
▍一句话
先有基线,再谈优化;没有对比,优化是信仰问题不是工程问题。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
楼主
7 天前