2.5.2 視頻流除了上述的渲染流程引起的卡頓 , 還有一些其他的因素 , 典型的就是視頻流 。
- 渲染卡頓:主要是 TextureView 渲染 , textureview 跟隨 window 共用一個 surface , 每一幀均需要一起協(xié)同渲染并相互影響 , UI 卡頓會造成視頻流卡頓 , 視頻流的卡頓有時候也會造成 UI 的卡頓;
- 解碼:解碼主要是將數(shù)據(jù)流解碼為 surface 可消費(fèi)的 buffer 數(shù)據(jù) , 是除了網(wǎng)絡(luò)外最重要的耗時點(diǎn) ?,F(xiàn)在我們一般都會采用硬解 , 比軟解的性能高很多 。但是幀的復(fù)雜度、編碼算法的復(fù)雜度、分辨率等也會直接導(dǎo)致解碼耗時被拉長;
- OpenGL 處理:有時會對解碼完成的數(shù)據(jù)做二次處理 , 這個如果比較耗時會直接導(dǎo)致渲染卡頓;
- 網(wǎng)絡(luò):這個就不再贅述了 , 包括 DNS 節(jié)點(diǎn)優(yōu)選、cdn 服務(wù)、GOP 配置等;
- 推流異常:這個屬于數(shù)據(jù)源出了問題 , 這里暫時以用戶側(cè)的視角為主 , 暫不討論 。
- 內(nèi)存:內(nèi)存的吃緊會直接導(dǎo)致 GC 的增加甚至 ANR , 是造成卡頓的一個不可忽視的因素;
- CPU:CPU 對卡頓的影響主要在于線程調(diào)度慢、任務(wù)執(zhí)行的慢和資源競爭 , 比如降頻會直接導(dǎo)致應(yīng)用卡頓;
- GPU:GPU 的影響見渲染流程 , 但是其實(shí)還會間接影響到功耗和發(fā)熱;
- 功耗/發(fā)熱:功耗和發(fā)熱一般是不分家的 , 高功耗會引起高發(fā)熱 , 進(jìn)而會引起系統(tǒng)保護(hù) , 比如降頻、熱緩解等 , 間接的導(dǎo)致卡頓 。
3. 如何評價卡頓3.1 線上指標(biāo)
釋義
計算方式
數(shù)據(jù)來源
FPS
幀率
取 vsync 到來的時間為起點(diǎn) , doFrame 執(zhí)行完成的事件為終點(diǎn) , 作為每幀的渲染耗時 , 同時利用渲染耗時/刷新率可以得出每次渲染的丟幀數(shù) 。平均 FPS = 一段時間內(nèi)渲染幀的個數(shù) * 60 / (渲染幀個數(shù) + 丟幀個數(shù))
vsync
stall_video_ui_rate
總卡頓率
(UI 卡頓時長 + 流卡頓時長) / 采集時長
vsync
stall_ui_rate
UI 卡頓率
UI 卡頓時長 / 采集時長
vsync
stall_video_rate
流卡頓率
流卡頓時長 / 采集時長
vsync
stall_ui_slight_rate
輕微卡頓率
幀丟幀時長 / 采集時長
vsync
stall_ui_moderate_rate
中等卡頓率
幀丟幀時長 / 采集時長
vsync
stall_ui_serious_rate
嚴(yán)重卡頓率
幀丟幀時長 / 采集時長
vsync
3.2 線下指標(biāo)
Diggo 是字節(jié)自研的一個開放的開發(fā)調(diào)試工具平臺 , 是一個集「評價、分析、調(diào)試」為一體的 , 一站式工具平臺 。內(nèi)置性能測評、界面分析、卡頓分析、內(nèi)存分析、崩潰分析、即時調(diào)試等基礎(chǔ)分析能力 , 可為產(chǎn)品開發(fā)階段提供強(qiáng)大助力 。
釋義
計算方式
數(shù)據(jù)來源
FPS
時機(jī)渲染幀率
數(shù)據(jù)獲取時間周期內(nèi) , 實(shí)際渲染幀數(shù)/ 數(shù)據(jù)獲取間隔時間
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 淘寶直播等多個平臺賬號已被封 淘寶直播被當(dāng)錄播封了
- 直播聲卡入門知識 什么是直播聲卡
- 快手怎么開通直播功能 快手直播怎么開
- 新手開直播多久能賺錢 美妝博主怎么賺錢
- 老王直播送iqoo8手機(jī) iqoo7直播
- 加來眾科AK8Pro數(shù)字直播聲卡
- 新手如何從0開始做直播 直播間怎么開
- 讀懂佳能相機(jī)的系列型號
- 搞耍是什么意思
- 網(wǎng)絡(luò)電視看直播不清楚怎么回事 網(wǎng)絡(luò)電視看直播為什么會卡
