網頁動畫可以顯著改善使用者體驗,但如果實施不仔細,也會影響網站效能。在本文中,我將比較三種不同的方法來對大小脈衝的圓形元素進行動畫處理。我將使用 CSS、未優化的 JavaScript 和優化的 JavaScript,並且我將向您展示如何使用 Chrome DevTools 來衡量它們的效能。
動畫是現代網頁設計的關鍵部分。它們可以使用各種方法來實現,最常見的是使用純 CSS 或 JavaScript。然而,並非每種方法都表現得一樣好。為了證明這一點,我決定測試三種不同的方法:
此專案可在 GitHub 上取得。您可以輕鬆下載並試用。
git 克隆 https://github.com/TomasDevs/animation-performance-test.git
cd 動畫效能測試
下載後,檢查資料夾 css-animation、js-animation-optimized 和 js-animation-unoptimized。
在 GitHub 上嘗試此專案
為了測量效能,我使用了 Chrome DevTools 的效能面板。每個動畫運行 10 秒。
來源:由 TomasDevs 創建 (2024)
筆記:
CSS 動畫往往表現得更好,因為它們被卸載到瀏覽器的本機渲染引擎,特別是在使用變換或不透明度等屬性時。該動畫非常高效,對腳本和渲染時間的影響最小。
來源:由 TomasDevs 創建 (2024)
筆記:
最佳化的 JS 版本使用 requestAnimationFrame 和平滑的正弦波函數來管理動畫。雖然它比 CSS 動畫需要更多的腳本編寫時間,但它仍然運行得相當高效,並保持較低的渲染和繪製時間。
來源:由 TomasDevs 創建 (2024)
筆記:
未最佳化的 JS 版本使用簡單的循環,沒有考慮時序進展。由於動畫每一幀的計算效率低下,這會導致腳本、渲染和繪畫時間更長。
您在優化網頁動畫方面有哪些經驗?您還有其他提高效能的提示或技巧嗎?請在下面的評論中告訴我!
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3