開發人員工具時間軸面板一直是效能最佳化的最佳起點。這種集中式的應用程式活動總覽可協助您分析在載入、編寫指令碼、轉譯和繪圖方面花費的時間。我們最近為時間軸提供了更詳盡的評估功能,方便您更深入地瞭解應用程式的成效。
我們新增了下列功能:
- 整合 JavaScript 分析器。(含火焰圖!)
- Frame Viewer 來以視覺化方式呈現複合圖層。
- 繪圖分析器:深入瞭解瀏覽器的繪製活動。
請注意,本文所述的 Paint 擷取選項會產生一些效能負擔,因此請在需要「em」時再翻轉這些選項。
整合式 JavaScript 分析器
如果您曾經在「Profiles」面板中介紹過興趣,那麼您應該熟悉 JavaScript CPU 分析器。這項工具會測量執行時間在 JavaScript 函式中花費的時間。藉由使用火焰圖檢視 JavaScript 設定檔,您可以視覺化呈現 JavaScript 的長期處理時間。
現在,您可以在「時間軸」面板中查看 JavaScript 執行作業的精細細目。選取「JS Profiler」擷取選項,即可在時間軸中與其他瀏覽器事件一併顯示 JavaScript 呼叫堆疊。在時間軸中新增這項功能有助於簡化偵錯工作流程。此外,這個工具還能用來查看 JavaScript 內容,並找出影響網頁載入時間和轉譯的部分程式碼部分。
除了 JavaScript 分析器外,我們也將「火焰圖」檢視整合至「時間軸」面板。您現在可以查看應用程式的活動,可以是傳統的事件瀑布,也可以轉換成火焰圖。您可以透過「火焰圖」圖示切換這兩種檢視模式。
影格檢視器
圖層合成的藝術是瀏覽器的另一項面向,開發人員並不會看見這項元素。請謹慎使用圖層並謹慎使用,這樣可避免高昂的重新繪製,大幅提升效能。但要預測瀏覽器將如何產生內容,通常並不容易。只要使用時間軸新推出的「Paint」擷取選項,就能以視覺化方式呈現錄製內容的每個影格的複合圖層。
當您在「Main Thread」上方選取灰色的頁框列時,「Layers」面板會提供構成應用程式的圖層視覺模型。
您可以縮放、旋轉及拖曳圖層模型,探索圖層內容。將滑鼠遊標懸停在圖層上,即可顯示目前在頁面中的位置。在圖層上按一下滑鼠右鍵,即可跳到「元素」面板中對應的節點。這些功能可向您顯示已升級為圖層的內容。選取圖層後,您也可以在「Compositing Reasons」列中查看宣傳原因。
繪製分析器
最後,我們加入了顏料分析器,協助你找出因昂貴的畫作而造成的卡頓。這項功能可提供更多細節,說明 Chrome 在繪製事件期間所做的工作。
首先,我們現在能更輕鬆地識別與各種繪畫事件對應的視覺內容。在時間軸中選取綠色繪製事件時,「Details」窗格會顯示實際繪製的像素預覽畫面。
如要瞭解詳情,請切換至「Paint Profiler」窗格。這個分析器會顯示瀏覽器針對所選繪圖執行的確切繪圖指令。為了協助您將這些原生指令連結至應用程式中的實際內容,您可以在「draw*」呼叫上按一下滑鼠右鍵,並直接跳到「Elements」面板中對應的節點。
窗格頂端的迷你時間軸可讓您播放繪製過程,並瞭解瀏覽器執行哪些作業費用。繪圖作業會以不同顏色標示:粉紅色 (形狀)、藍色 (點陣圖)、綠色 (文字) 和紫色 (其他)。長條高度代表通話時間長度,因此你可以觀察高長條,瞭解某幅彩繪的昂貴之處。
商家檔案和利潤!
就效能最佳化而言,瀏覽器的相關知識可大幅提升。透過這些時間軸更新,你可以搶先瞭解程式碼和 Chrome 轉譯程序之間的關係。歡迎在時間軸中試用這些新選項,瞭解 Chrome 開發人員工具如何改善除卡頓的工作流程!