Chrome開(kāi)發(fā)者工具performance面板

Chrome官方文檔

chrome 的開(kāi)發(fā)者工具中提供了很多高效工具方便我們對(duì)頁(yè)面進(jìn)行性能分析虎韵。performance面板中記錄和分析了頁(yè)面在運(yùn)行時(shí)的所有活動(dòng)

準(zhǔn)備工作

  1. 進(jìn)入隱身模式,避免瀏覽器插件的干擾
  2. 官方示例 打開(kāi)performance面板
  3. 打開(kāi)CPU節(jié)流,模擬低性能CPU的運(yùn)行情況(模擬移動(dòng)端)
  4. 勾選screenshot 將記錄運(yùn)行過(guò)程中每一幀的截圖
  5. 勾選Memory 可以看到占用內(nèi)存的不同組成部分迷扇、大致的垃圾回收的周期,以及有無(wú)明顯的內(nèi)存泄漏的情況
圖中各部的信息的含義:
  • FPS (Analyze frames per second)幀率(每秒幀數(shù))薯酝。綠色豎線越高盐茎,F(xiàn)PS 越高瞻润。 FPS 圖表上的紅色塊表示長(zhǎng)時(shí)間幀店乐,很可能會(huì)出現(xiàn)卡頓
  • CPU CPU 資源喉童。此面積圖指示消耗 CPU 資源的事件類型
    CPU 與下方的Summary Tab是一致的撇寞,這部分的顏色也是一一對(duì)應(yīng)。占比越大的部分意味著消耗CPU資源也越多
  • NET 每條彩色橫杠表示一種資源堂氯。橫杠越長(zhǎng)蔑担,檢索資源所需的時(shí)間越長(zhǎng)。 每個(gè)橫杠的淺色部分表示等待時(shí)間(從請(qǐng)求資源到第一個(gè)字節(jié)下載完成的時(shí)間)
  • Screenshots 展示每個(gè)時(shí)間點(diǎn)的屏幕快照
  • HEAP 堆內(nèi)存占用
    (js中的內(nèi)存垃圾回收機(jī)制:垃圾回收器會(huì)定期掃描內(nèi)存咽白,當(dāng)某個(gè)內(nèi)存中的值被引用為零時(shí)就會(huì)將其回收啤握。)
  • Frames 鼠標(biāo)移上去可以看到當(dāng)前的幀率;(Dropped Frame :當(dāng) GPU 很忙的時(shí)候晶框,GPU 在渲染別的東西排抬,比如上一幀還沒(méi)渲染完的情況下合成器會(huì)跳過(guò)、丟棄(drop)某些幀)
  • Main 代表主線程授段,也是我們需要重點(diǎn)關(guān)注的部分蹲蒲,這一部分的圖像官方稱為flame chart (火焰圖)
    火焰圖x軸的一段橫條代表執(zhí)行一個(gè)事件(函數(shù)),長(zhǎng)度越長(zhǎng)侵贵,花費(fèi)的時(shí)間越多届搁;y軸代表調(diào)用棧,如果幾個(gè)事件(函數(shù))在y軸上堆疊在一起,這意味著上方的事件(函數(shù))調(diào)用了下方的事件(函數(shù))卡睦。如果在這些橫條中右上角是紅色的就表示在該段代碼執(zhí)行過(guò)程中可能存在性能問(wèn)題.

面板下方與Summary Tab 同級(jí)的幾個(gè)tab

  • Bottom-Up 事件時(shí)長(zhǎng)排序
  • Call Tree 表示瀏覽器基本操作(事件執(zhí)行,繪制...)的事件調(diào)用順序和占用時(shí)間
  • Event Log 事件發(fā)生的先后順序及占用時(shí)間

性能優(yōu)化

Avoid forced synchronous layouts
瀏覽器渲染每一幀通常是按以下步驟進(jìn)行:首先運(yùn)行JavaScript --> Recalculate Style --> Layout --> Paint --> Composite layers宴胧,但是某些js語(yǔ)句可能使瀏覽器在js運(yùn)行完成之前先進(jìn)行l(wèi)ayout,這被稱為forced synchronous layout表锻。
舉個(gè)栗子:

// Schedule our function to run at the start of the frame.
requestAnimationFrame(logBoxHeight);

function logBoxHeight() {
  // Gets the height of the box in pixels and logs it out.
  console.log(box.offsetHeight);
}

下面改一下logBoxHeight的代碼恕齐,在獲取box的高度前改變它的樣式

function logBoxHeight() {

  box.classList.add('super-big');

  // Gets the height of the box in pixels
  // and logs it out.
  console.log(box.offsetHeight);
}

這時(shí),為了獲取準(zhǔn)確的高度瞬逊,瀏覽器必須先將新的樣式應(yīng)用于box显歧,然后執(zhí)行l(wèi)ayout。這一操作可能會(huì)非常耗時(shí)码耐,并且在大部分情況下也不是必須的追迟,比如我們使用上一幀的高度也是完全可以的

function logBoxHeight() {
  console.log(box.offsetHeight);

  box.classList.add('super-big');
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市骚腥,隨后出現(xiàn)的幾起案子敦间,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異亏钩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)带猴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)懈万,“玉大人拴清,你說(shuō)我怎么就攤上這事』嵬ǎ” “怎么了口予?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)涕侈。 經(jīng)常有香客問(wèn)我沪停,道長(zhǎng),這世上最難降的妖魔是什么裳涛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任木张,我火速辦了婚禮,結(jié)果婚禮上端三,老公的妹妹穿的比我還像新娘舷礼。我一直安慰自己,他們只是感情好郊闯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布且轨。 她就那樣靜靜地躺著浮声,像睡著了一般。 火紅的嫁衣襯著肌膚如雪旋奢。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天然痊,我揣著相機(jī)與錄音至朗,去河邊找鬼。 笑死剧浸,一個(gè)胖子當(dāng)著我的面吹牛锹引,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唆香,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嫌变,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了躬它?” 一聲冷哼從身側(cè)響起腾啥,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冯吓,沒(méi)想到半個(gè)月后倘待,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡组贺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年凸舵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片失尖。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啊奄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掀潮,到底是詐尸還是另有隱情菇夸,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布胧辽,位于F島的核電站峻仇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏邑商。R本人自食惡果不足惜摄咆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望人断。 院中可真熱鬧吭从,春花似錦、人聲如沸恶迈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至步做,卻和暖如春副渴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背全度。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工煮剧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人将鸵。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓勉盅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顶掉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子草娜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容