真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

APP&游戲需要關(guān)注Jank卡頓嗎?

第一部分:FrameTime

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了孝感免費(fèi)建站歡迎大家使用!

FrameTime 的定義:兩幀畫面間隔耗時(shí)(也可簡(jiǎn)單認(rèn)為單幀渲染耗時(shí))。

對(duì)于FrameTime和卡頓是否有關(guān)聯(lián)?請(qǐng)看下圖的案例圖示:

APP&游戲需要關(guān)注Jank卡頓嗎?

    從圖中可看出畫面中B幀在GPU渲染耗時(shí)(幀生成時(shí)間)大于顯示器刷新間隔,占用兩次顯示器刷新耗時(shí)。也就是說(shuō)有一次畫面沒(méi)刷新。當(dāng)出現(xiàn)多次沒(méi)有畫面刷新(也就是說(shuō)畫面沒(méi)變化),則可能是一次卡頓。

從這里就得出結(jié)論:玩家用戶真正看到的是屏幕新畫面刷新間隔時(shí)間,而不是eglSwapbuffers-GPU渲染完成(并未有提交屏幕顯示)間隔時(shí)間。所以后面所提到Frametime統(tǒng)統(tǒng)指的是屏幕Display-Frametime。

PerfDog工具優(yōu)點(diǎn):PerfDog統(tǒng)計(jì)的FPS和Frametime都是用戶看到的屏幕Display新畫面真實(shí)刷新FPS和幀耗時(shí)。所以大家可以直接通過(guò)Frametime來(lái)判斷測(cè)試過(guò)程中是否出現(xiàn)卡頓。

第二部分:FPS

FPS的定義:幀率(1秒內(nèi)平均畫面刷新次數(shù))。

平均幀 率:傳統(tǒng)常說(shuō)的FPS,1秒內(nèi)平均畫面刷新次數(shù)。

瞬時(shí)幀率 :單幀耗時(shí)FrameTime算出來(lái)實(shí)時(shí)FPS,每一幀畫面刷新耗時(shí)換算出的實(shí)時(shí)幀率。

畫面渲染流程圖如下,每一幀F(xiàn)rameTime。

APP&游戲需要關(guān)注Jank卡頓嗎?

PerfDog統(tǒng)計(jì)幀率及FrameTime如下圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

FPS幀率與卡頓是否有關(guān)系?我們分為Andriod和ios兩個(gè)場(chǎng)景去進(jìn)一步了解:

iOS端

    蘋果WDDC18年開(kāi)發(fā)者大會(huì)

①     FramePacing

比如下面兩個(gè)游戲畫面,左邊的試圖以60幀運(yùn)行,但實(shí)際只能達(dá)到40幀;右邊的則持續(xù)穩(wěn)定在30幀運(yùn)行:

APP&游戲需要關(guān)注Jank卡頓嗎?

    上圖左邊幀率高,反而看起來(lái)有一卡一頓的現(xiàn)象,這就是Micro Stuttering(微型口吃)導(dǎo)致的,左邊FrameTime如下圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

    通過(guò)FrameTime可以看出,左邊高幀率FPS=40幀率中出現(xiàn)一次FrameTim>=117ms,理論平均FrameTime=25ms。所以非均勻渲染,雖然幀率高達(dá)40,但依然覺(jué)得非???。

右邊低幀率30幀運(yùn)行FrameTime如下圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

從上面FrameTime可以看出,幀率FPS=30,F(xiàn)rameTime均勻?yàn)?3ms,畫面會(huì)非常平滑。

總結(jié):幀率高,未必流暢。

Android端

    測(cè)試系統(tǒng)版本:Android4.4

①     流暢度機(jī)制-黃油計(jì)劃(Jank)

Google Jank 計(jì)算思路:考慮視覺(jué)慣性,以硬件vsync時(shí)間間隔,連續(xù)1次vsync沒(méi)有新畫面刷新,則認(rèn)為是一次卡頓,也就是說(shuō)下一次vsync時(shí)間點(diǎn)沒(méi)有新畫面刷新,則認(rèn)為是一次Jank。

APP&游戲需要關(guān)注Jank卡頓嗎?

第三部分:流暢度

流暢度與卡頓的關(guān)聯(lián)可以用以下的流程圖來(lái)大致展示:

APP&游戲需要關(guān)注Jank卡頓嗎?

    流暢度影響卡頓。這個(gè)可以簡(jiǎn)單的理解為視覺(jué)慣性和電影幀這兩個(gè)方面:

1、視覺(jué)慣性

    視覺(jué)預(yù)期幀率,用戶潛意識(shí)里認(rèn)為下幀也應(yīng)該是當(dāng)前幀率刷新比如一直60幀,用戶潛意識(shí)里認(rèn)為下幀也應(yīng)該是60幀率。刷新一直是25幀,用戶潛意識(shí)里認(rèn)為下幀也應(yīng)該是25幀率。但是刷新如果是60幀一下跳變?yōu)?5幀,擾亂用戶視覺(jué)慣性。這個(gè)時(shí)候就會(huì)出現(xiàn)用戶體驗(yàn)的卡頓感。

2、電影幀

    電影幀率(18-24),一般是24幀。電影幀單幀耗時(shí):1000ms/24=40ms。電影幀率是一個(gè)臨界點(diǎn)。低于這個(gè)幀率,人眼基本能感覺(jué)畫面不連續(xù)性,也就是感覺(jué)到了卡頓。

第四部分:PerfDog-Jank

    PerfDog Jank 計(jì)算思路:考慮視覺(jué)慣性,假設(shè)以前三幀的平均幀耗時(shí)為參考,作為vsync時(shí)間間隔,連續(xù)兩次vsync沒(méi)有新渲染畫面刷新,則認(rèn)為是一次潛在卡頓,也就是說(shuō)下一幀耗時(shí)大于前三幀平均幀耗時(shí)2倍,則認(rèn)為一次潛在卡頓。同時(shí)單幀耗時(shí)滿足大于兩倍電影幀耗時(shí)1000ms/24*2 (由于人眼低于24幀才能辨別畫面不連續(xù)性),則認(rèn)為是一次真正卡頓。同時(shí)若單幀耗時(shí)大于3倍電影幀耗時(shí),則認(rèn)為是一次嚴(yán)重卡頓。

注解:為什么是兩次vsync?GPU一般是3重緩沖buffer,當(dāng)前幀已占用一個(gè)buffer,即剩余2緩沖buffer,人眼一般可容忍2幀延遲。

    為什么是兩幀電影幀耗時(shí)?低于24幀畫面,人眼就能感知到畫面不連續(xù)性,電影一般都是24幀。即電影幀耗時(shí)1000ms/24=41.67ms,兩幀電影幀耗時(shí)也就是41.67ms*2,三幀電影幀耗時(shí)是41.67ms*3。

PerfDog Jank計(jì)算方法:

同時(shí)滿足兩條件,則認(rèn)為是一次卡頓Jank.

①Display FrameTime>前三幀平均耗時(shí)2倍。

②Display FrameTime>兩幀電影幀耗時(shí) (1000ms/24*2=84ms)。

同時(shí)滿足兩條件,則認(rèn)為是一次嚴(yán)重卡頓BigJank.

①Display FrameTime >前三幀平均耗時(shí)2倍。

②Display FrameTime >三幀電影幀耗時(shí)(1000ms/24*3=125ms)。

Google-Jank如圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

PerfDog-Jank如圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

真實(shí)測(cè)試FrameTime計(jì)算Jank,如下圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

PerfDog-Jank如圖:

APP&游戲需要關(guān)注Jank卡頓嗎?

備注:幀率低,并不是頓卡,如幀率都是只有幾幀了,還有什么頓卡而言?

目前主流游戲?qū)Ρ菾ank如下:

APP&游戲需要關(guān)注Jank卡頓嗎?

PerfDog-web平臺(tái)

APP&游戲需要關(guān)注Jank卡頓嗎?

第五部分:影響

    從前面的知識(shí)了解到FrameTime、FPS、流暢度和Jank之間的緊密聯(lián)系后,就可以順其自然得出我們的結(jié)論:APP和游戲到底需不需要關(guān)注Jank卡頓呢?答案是需要的,并且還是重點(diǎn)關(guān)注!理由如下:

游戲方面

游戲流暢度是最影響用戶體驗(yàn)的,所以需要重點(diǎn)關(guān)注FPS和Jank。

備注:比如游戲中已預(yù)知的卡頓,如新UI彈出等造成卡頓,可認(rèn)為是干擾,需要剔除,不應(yīng)算在Jank,可通過(guò)web云上,框選右鍵刪除干擾數(shù)據(jù)。

APP方面

APP也需要關(guān)注FPS及Jank。只是需要區(qū)分使用場(chǎng)景,如:

1)     靜態(tài)頁(yè)面窗口

只需關(guān)注FPS,理論FPS應(yīng)該為0,否則,說(shuō)明有冗余刷新,容易引起手機(jī)發(fā)熱及耗電。

2)     有滾動(dòng)動(dòng)畫頁(yè)面窗口

只需關(guān)注FPS,F(xiàn)PS處于合適值即可,無(wú)需高頻刷新。

3)     快速滑動(dòng)頁(yè)面窗口。

需要關(guān)注FPS和Jank。手機(jī)交互靈敏度就是來(lái)源于此,Android系統(tǒng)才出黃油計(jì)劃Jank。一般滑動(dòng)狀態(tài)下,幀率越高越好,Jank越小越好。

4)     播放視頻頁(yè)面窗口。

需要關(guān)注FPS和Jank,視頻卡頓直接影響用戶。視頻一般幀率18-24幀,Jank=0。比如微信播放視頻、視頻播放器等。

    通過(guò)這五部分的講解,相信大家可以清楚的了解Jank卡頓對(duì)于APP&游戲的重要,以及其關(guān)注的側(cè)重點(diǎn),PerfDog正是是致力于為游戲&應(yīng)用提升品質(zhì)。

PerfDog是由WeTest騰訊質(zhì)量開(kāi)放平臺(tái)發(fā)行的移動(dòng)全平臺(tái)iOS\Android性能測(cè)試工具,能快速定位分析性能問(wèn)題,提升APP應(yīng)用及游戲性能和品質(zhì),手機(jī)無(wú)需ROOT/越獄,手機(jī)硬件、游戲及應(yīng)用無(wú)需做任何更改,極簡(jiǎn)化即插即用。

掃碼即刻加群 與2000+測(cè)試同行深度交流

點(diǎn)擊閱讀原文直達(dá)官網(wǎng)!

PerfDog官網(wǎng):perfdog.qq.com

騰訊WeTest官網(wǎng):wetest.qq.com

PerfDog交流群:602206842


新聞標(biāo)題:APP&游戲需要關(guān)注Jank卡頓嗎?
鏈接地址:http://weahome.cn/article/podigp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部