smart-test-ti / SoloX

💯SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performance\iOS性能测试ios performance\移动端性能测试mobile performance\APP性能测试app performance\app性能测试工具)
https://smart-test-ti.github.io/solox
MIT License
994 stars 177 forks source link

jank 大于多少可以认为是比较严重的卡顿 #133

Closed superWenshuo closed 1 year ago

superWenshuo commented 1 year ago

接口返回了fps和jank,我尝试了下 当jank>5时 体验卡顿,推荐jank>多少定义为严重卡顿,上报到自动化里?

rafa0128 commented 1 year ago

jank的值是代表一个统计周期内的卡顿次数,不是以次数代表卡顿的严重程度,卡顿的严重程度是根据绘帧的耗时来

perfdog的计算方法是:

同时满足两条件,则认为是一次卡顿Jank.

Display FrameTime>前三帧平均耗时2倍。

Display FrameTime>两帧电影帧耗时(1000ms/24*2=84ms)。

同时满足两条件,则认为是一次严重卡顿BigJank.

Display FrameTime >前三帧平均耗时2倍。

Display FrameTime >三帧电影帧耗时(1000ms/24*3=125ms)。

solox定义卡顿是第一种:

def _calculate_jankey_new(self, timestamps):

    """同时满足两个条件计算为一次卡顿:
        ①Display FrameTime>前三帧平均耗时2倍。
        ②Display FrameTime>两帧电影帧耗时 (1000ms/24*2≈83.33ms)。
        """

理论上说,测试要有对比,如果没有参照物对比,就应该尽量让jank为0

superWenshuo commented 1 year ago

首先感谢回复。 因为jank和人实际感受到的卡顿有区别,所以我试图找到联系。按业界方案,动态页面中 FPS<24,就有卡顿,不过肉眼可能无法察觉,多谢