Performance選項卡筆記以及分析vue頁面卡頓

一介码农丶發表於2024-05-22

各區域內容說明

Performance選項卡可以用於分析頁面效能。

image

最上方紅框區域內出現紅色塊的代表該時間段幀率不足60幀。

image

往下是cpu佔用率。

image

卡頓原因主要耗時根據以下該圖進行分析。

image

問題分析

由此可見本次分析主要導致卡頓的原因是因為js的執行所導致的。

可以選擇時間區域進一步方法分析的時間段,從而分析更詳細的資訊。

image

該段區域表示渲染幀率的情況。

image

綠色是正常的,黃色是表示這一幀本來應該渲染的,但是沒有得到完整的渲染。部分渲染幀撒大聲地

image

image

可以透過該區域看到本段時間內所執行的任務。

image

透過Call Tree小選項卡從而進一步分析呼叫情況。

image

透過點選此處可以調到對應source選項卡,即可看到哪行程式碼所導致的執行時間。

image

image

從該呼叫樹可以看到大概是因為事件高頻觸發導致資料變更引起響應式資料進行多次的渲染,引起了卡頓現象。

解決方案

該段程式碼主要是實現一個拖拽div進入一個vue-grid-layout區域,那麼我猜測是因為drag事件觸發頻率太高所導致,所以在觸發的事件加上一個節流函式(useThrottleFn),降低觸發頻率來解決卡頓現象。

image

image

使用節流函式後卡頓現象明顯大幅下降。

image

最佳化前後對比

  • 最佳化前

image

  • 最佳化後

image

相關文章