ホームページ > 記事 > ウェブフロントエンド > チェスと対戦相手: 背景の比較 img_html/css_WEB-ITnose
モバイルページを作成する場合、画像を表示する方法は通常、CSS 背景スタイルを使用するか、img src タグに追加することによって行われます。しかし、時間が経つと慣れてくると、どれが一番良いのか考えるのを忘れてしまいます。私たちはこの 2 つの違いを本当に理解していますか?両者を比較した場合のメリットとデメリットは何ですか? まず、これら 2 つの方法の基本概念を見てみましょう。背景はcssメソッドに属し、imgはhtmlタグに属します。ブラウザのレンダリングメカニズムに従って、HTML タグが最初に解析され、CSS は HTML 解析が完了した後に実行されます。ここから情報を取得することもできます:
img メソッドは、background メソッドよりも高速に画像を表示できます。
次に、毎日のプロジェクトのニーズに基づいて、2 つの読み込み速度、FPS、アニメーションのパフォーマンスなどを比較します:
2 つのデモでは、background-image メソッドと img src メソッドは次のとおりです。画像の表示に使用されます。各ページには 500 個の DOM があり、速度、FPS、アニメーションの流暢性などがテストおよび比較されます。
テストネットワーク条件は、通常の 3g (750kb/s 100ms RTT) です。 実装方法の違いにより、ページのコードサイズが異なります。 2 つのテスト ファイルのうち、background ページは完全ロード後の 337kb、img ページは完全ロード後の 347kb です。 ロード後の 2 つのデモのサイズは、主に CSS コードと HTML コードによって影響されます。背景ページの実装メソッドでは、CSS コードが比較的多く、HTML コードが少なくなります。一方、img ページ実装メソッドでは、CSS コードと HTML コードが比較的少なくなります。もっと。そのため、各ページに 500 個の DOM が配置され、HTML コードの量が大幅に増加し、その結果、img ページがbackground ページよりも大きくなります。 最後に、Navigation Timing API を使用してページの読み込み時間をテストします。テスト コードは次のとおりです:
rrreeテスト データは (単位 ms):
平均 | |||||||||||
背景 | 3356 | 3352 | 3350 | 3354 | 3353 | 3354 | 3353 | 3353 | 335 43352 | 3353.1 | |
3216 | 3238 | 3224 | 3224 | 3230 | 3222 | 3225 | 3229 | 3212 | 3215 | 3223.5 |
2. FPS テスト
平均 | 背景 | 16.0 | 17.7 | 18.6 | |||||||
17.3 | 16.2 | 17.7 | 19 | 16.2 | 15.7 | 17.8 | 19 | 21 | 18.31 | ここに示されたデータから、この 2 つの間の FPS には大きな差はないと結論付けることができます。 | |
2 つのデモ ページでは、CSS3 のtransform:rotate を使用して、0 度から 360 度までの円形回転アニメーションを実装しています。デモアドレス: | (画像ページ) | (背景ページ) | テストによって取得された GPU データは次のとおりです: |
平均値
背景
14 | 15 | 23 | 30 | 11.1 | 25 | 26.9 | 25 | 12 | 19.3 | img | |
6.2 | 6.2 | 6.2 | 6.2 | 6.26.2 | 6.26.2 |
上記のデータは、バックグラウンド ページ実装の GPU 使用率が 0 から 30 の間で変動することを示していますが、img ページ実装の GPU 使用率は常に 6.2 のままです。比較的ローエンドの携帯電話で体験すると、背景ページのアニメーションに多少の遅れがあるのに対し、画像ページのアニメーションは非常にスムーズであることがわかります。ここから結論を導き出すことができます。アニメーションに関して言えば、img 実装はバックグラウンド実装よりもパフォーマンスが高く、アニメーションのパフォーマンスを向上させることができます。 まとめ他の重要な側面と組み合わせて、最終的なまとめを作成しましょう:
|