避免使用非合成動畫
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
非複合型動畫在低階手機上或主要執行緒上執行效能繁重的工作時,可能會顯示「資源浪費」 (不流暢)。動畫浪費會增加網頁的累計版面配置位移 (CLS)。減少 CLS 將可改善 Lighthouse 效能分數。
背景
瀏覽器用於將 HTML、CSS 和 JavaScript 轉換成像素的演算法,統稱為「轉譯管道」。
即使您不瞭解轉譯管道的每個步驟也沒關係。您現在需要瞭解的重點是,在轉譯管道的每個步驟中,瀏覽器都會使用上一個作業的結果來建立新資料。舉例來說,如果您的程式碼會觸發版面配置的內容,就必須再次執行「Paint」和「複合」步驟。非複合動畫是指在轉譯管道 (樣式、版面配置或繪製) 中觸發前一步驟的任何動畫。非合成動畫會強制瀏覽器執行更多作業,因此效能較差。
請參閱下列資源,深入瞭解轉譯管道:
Lighthouse 如何偵測非合成動畫
如果無法合併動畫,Chrome 會向開發人員工具的追蹤記錄回報失敗原因,也就是 Lighthouse 讀取的內容。Lighthouse 會列出 DOM 節點(包含未合成的動畫),以及每個動畫的失敗原因。
如何確保製作動畫
請參閱「繼續使用僅限合成屬性並管理圖層數量」和「高效能動畫」。
資源
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2020-08-12 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2020-08-12 (世界標準時間)。"],[],[]]