頁面滾動性能檢測

聲明一點,工作環(huán)境是Chrome瀏覽器

1.頁面滾動是高頻率的動作,在滾動的時候,瀏覽器是怎么來渲染頁面,怎么來查看影響滾動流暢的原因。

2.網(wǎng)絡(luò)上有很多說影響滾動流暢的原因,google,百度都可以搜到。

下面,先說一下瀏覽器渲染的分層和分塊。

分層,分塊是和css相關(guān)。

? ? 先上兩張?zhí)熵埛謱拥慕貓D

? ? 天貓首頁分層截圖


在來一張?zhí)熵埳唐妨斜眄撁娴姆謱咏貓D


天貓首頁分層很少,列表頁面除了圖片單獨處理,基本上也就文檔和單獨的搜索框分層。

具體網(wǎng)頁分層原理可以看這篇文章?Chromium網(wǎng)頁渲染機制簡要介紹

瀏覽器渲染對應(yīng)到滾動性能,需要用performance來分析了。

依舊先來一張圖片



滾動到時候,頁面主線程的執(zhí)行順序如上圖Event log,滾動事件,事件內(nèi)到業(yè)務(wù)代碼,更新層級書,合成新的頁面。按照一幀16至17ms的時間算,代表這個時間段需要完成事件執(zhí)行,圖層合并。如果總時間超出,就出現(xiàn)我們長聽的掉幀。

上面兩張圖對比一下,會發(fā)現(xiàn)update layer tree和 composite layers的時間變長了,原因是因為第一張圖使用的是body滾動沒有添加任何樣式,第二張?zhí)砑恿薿verflow:scroll。


另外就是setTimeout等也會占用主線程的時間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,147評論 25 708
  • 前端開發(fā)者丨h(huán)ttp請求 https:www.rokub.com 前言見解有限, 如有描述不當(dāng)之處, 請幫忙指出,...
    麋鹿_720a閱讀 11,292評論 11 31
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,419評論 4 61
  • 她猶記得第一次見他。那是古城的夜,星辰低垂,夜幕散落,她喝了幾杯,算是正兒八經(jīng)的告別了上一段不清不楚的感情,好好的...
    西有葳蕤閱讀 560評論 0 0
  • 最近在看這就是街舞,覺得節(jié)目很有趣。各路街舞大神通過街舞來表達(dá)內(nèi)心,我覺得這是另一種語言的表達(dá)。不過在看的過程中很...
    吾宗老孫子閱讀 157評論 0 0

友情鏈接更多精彩內(nèi)容