Web アニメーションのマスタリング: CSS と最適化されていない JavaScript のパフォーマンスと最適化された JavaScript のパフォーマンス

PHPz
リリース: 2024-08-29 06:31:16
オリジナル
771 人が閲覧しました

Web アニメーションはユーザー エクスペリエンスを大幅に向上させますが、慎重に実装しないと Web サイトのパフォーマンスに影響を与える可能性もあります。この記事では、サイズが脈動する円要素をアニメーション化する 3 つの異なるアプローチを比較します。 CSS、最適化されていない JavaScript、最適化された JavaScript を使用し、Chrome DevTools を使用してそれらのパフォーマンスを測定する方法を説明します。

Web アニメーションの概要

アニメーションは現代の Web デザインの重要な部分です。これらはさまざまな方法を使用して実装できますが、最も一般的なのは純粋な CSS または JavaScript です。ただし、すべての方法が同様にうまく機能するわけではありません。これを実証するために、次の 3 つの異なるアプローチをテストすることにしました。

  • CSS で作成されたアニメーション。
  • JavaScript を使用した最適化されていないアニメーション。
  • requestAnimationFrame で JavaScript を使用してアニメーションを最適化しました。

プロジェクトのセットアップ

プロジェクトは GitHub で入手できます。簡単にダウンロードして試すことができます。

git clone https://github.com/TomasDevs/animation-performance-test.git
cd アニメーション パフォーマンス テスト

ダウンロードしたら、css-animationjs-animation-optimized、および js-animation-unoptimized のフォルダーを確認します。

GitHub でプロジェクトを試してみる

パフォーマンスの測定

パフォーマンスを測定するために、Chrome DevTools のパフォーマンス パネルを使用しました。各アニメーションは 10 秒間実行されました。

パフォーマンス結果と分析

CSSアニメーション

Mastering Web Animations: CSS vs Unoptimized and Optimized JavaScript Performance出典: TomasDevs 作成 (2024)

  • 合計ブロッキング時間: 390 ミリ秒

メモ:
CSS アニメーションはブラウザのネイティブ レンダリング エンジンにオフロードされるため、特に変換や不透明度などのプロパティを使用する場合にパフォーマンスが向上する傾向があります。このアニメーションは非常に効率的であり、スクリプト作成時間とレンダリング時間への影響は最小限に抑えられています。


最適化されたJavaScriptアニメーション

Mastering Web Animations: CSS vs Unoptimized and Optimized JavaScript Performance出典: TomasDevs 作成 (2024)

  • 合計ブロッキング時間: 400 ミリ秒

メモ:
最適化された JS バージョンでは、requestAnimationFrame とスムーズな正弦波関数を使用してアニメーションを管理します。 CSS アニメーションよりも多くのスクリプト時間を必要としますが、それでもかなり効率的に実行され、レンダリングとペイントの時間を低く保ちます。


最適化されていない JavaScript アニメーション

Mastering Web Animations: CSS vs Unoptimized and Optimized JavaScript Performance出典: TomasDevs 作成 (2024)

  • 合計ブロッキング時間: 440 ミリ秒

メモ:
最適化されていない JS バージョンでは、タイミングの進行を考慮せずに単純なループを使用します。これにより、アニメーションの各フレームの計算が非効率になるため、スクリプト作成、レンダリング、ペイント時間が大幅に長くなります。


結論

  • CSS アニメーション は、単純なアニメーションでは全体的に最も効率的です。ブラウザによるハードウェア アクセラレーションの恩恵を受け、メイン スレッドの負荷を軽減します。
  • 最適化された JavaScript アニメーションが僅差で 2 位です。アニメーションをより動的に制御する必要がある場合、スムーズなパフォーマンスを確保するには、requestAnimationFrame を使用した最適化が不可欠です。
  • 最適化されていない JavaScript アニメーションは、非効率な計算によりブラウザのレンダリング エンジンに不必要な負担をかけるため、パフォーマンスが最悪になります。

ディスカッションに参加する

Web アニメーションの最適化に関する経験は何ですか?パフォーマンスを向上させるための追加のヒントやコツはありますか?以下のコメント欄でお知らせください!

以上がWeb アニメーションのマスタリング: CSS と最適化されていない JavaScript のパフォーマンスと最適化された JavaScript のパフォーマンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!