指标与现实不匹配
应用流畅度是我们最关心的性能优化指标之一,本文主要介绍流畅度指标的理解与实际应用. 流畅度评判的难度在于量化指标并不能完全对应到感官体验上。
这什么意思呢?举个简单例子;
假设有一个过场动画,从 FPS,FrameUpdate 等指标来看都是满分的,也就是 FPS = 60, FrameUpdate <= 16ms。但从观感来看动画不是”够”流畅,过程中有顿挫感。更有意思的是,因为它是主观感受,所以其结论也是因人而异。
优化效果的验证方法
验证优化效果的流程可拆分为如下:
Code Build:编译出来的程序
Verify in Lab:由实验室环境下由人使用测试用例验证
CI by Robot:程序由可持续集成框架(CI: Continuous Integration)进行自动化性能测试
Monitor in RUM:使用大数据工具分析线上用户数据在真实环境下的数据
我们推荐的做法是:
「将定性方法(Qualitative method)应用在 [Verify in Lab]。」
「将定量方法(Quantitative method)应用在 [CI by Robot],[Monitor in RUM]。」
定性方法 (Qualitative method)
由于有些人对应用流畅度感受不够敏感,可以让对流畅度比较敏感且在意的人员来操作。流畅度测试与其他测试不同,他需要 测试人员的对卡顿现象(界面更新不自然)的有与生俱来的感觉与挑剔。拥有这种品质的人是定性测试的最佳人选。
定量方法 (Quantitative method)
针对流畅度量化方法,我们的解决方案是不同界面场景使用不同的量化指标。
常见应用场景
流媒体,视频播放,相机类
游戏类
UX 应用-内容浏览类
UX 应用-内容交互类
流畅度量化指标:
FPS Family
Realtime FPS
Static FPS
FPS Stability
Frame Drop Family
Frame Drop Percent (FDP)
Frame Drop Badass (FDB)
Frame Drop Heavy Tail (FDHT)
Heavy task in UI Thread (HT)
应用场景与量化指标间的使用关系
[流媒体,视频播放,相机类} -> [FPS Familiy]
[游戏类] -> [FPS Family]
[UX 应用-内容浏览类] -> [FDP, FDB, HT]
[UX 应用-内容交互类] -> [FDHT, HT]
待办项
量化指标三大类具体计算方法?
场景与量化方法间匹配原则?
Reference
Web Performance: Leveraging the Metrics that Most Affect User Experience (Google I/O ‘17)
觉得内容不错点个「在看」哦♥️