Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
避免使用非合成動畫
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
網頁上的部分動畫可以完全在轉譯管道的合成器階段處理。
未合成的動畫需要更多工作,而且在低階手機上或在主執行緒上執行效能密集的工作時,可能會出現「卡頓」 (不順暢) 的情形。
非合成的動畫也會增加網頁的累計版面配置位移 (CLS),因為這類動畫會導致 CLS 演算法評估的元素實際移動,進而影響其他元素的位移。合成的動畫不會導致其他元素移動,因此會從 CLS 中排除。降低 CLS 可提升 Lighthouse 效能分數。
背景
瀏覽器用來將 HTML、CSS 和 JavaScript 轉換為像素的演算法,統稱為轉譯管道。
轉譯管道。
即使您不瞭解算繪管線的每個步驟代表什麼,也沒關係。目前要瞭解的重點是,在轉譯管道的每個步驟中,瀏覽器都會使用先前作業的結果來建立新資料。舉例來說,如果程式碼會觸發版面配置,則需要再次執行 Paint 和 Composite 步驟。非合成的動畫是指會觸發轉譯管道中較早步驟 (樣式、版面配置或繪製) 的任何動畫。非合成的動畫效能較差,因為這類動畫會迫使瀏覽器執行更多工作。
請參閱下列資源,深入瞭解算繪管道:
Lighthouse 如何偵測未合成的動畫
如果無法合成動畫,Chrome 會將失敗原因回報給開發人員工具追蹤記錄,而 Lighthouse 會讀取這項資訊。Lighthouse 會列出 DOM 節點,其中動畫未經合成,並附上每個動畫的失敗原因。
如何確保動畫合成
請參閱「只使用合成器專屬屬性並管理圖層數量」和「高效能動畫」。
資源
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-12-08 (世界標準時間)。
[[["容易理解","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"]],["上次更新時間:2024-12-08 (世界標準時間)。"],[],[]]