パフォーマンス、ファイルサイズ (および私の正気) に最適なのはどれですか: .gif
CSS (および必要に応じて JS) を使用したアニメーション付きの s またはスプライトシート?
ファイルサイズ
だから、私はフレームの圧縮を理解していないので、ここでどちらが良いかは正直わかりません.gif
. 私の推測では、私が正しくスイングできれば、最終的にはほぼ同じになると思いますが、これが間違っている場合、またはこれが別の理由による要因である場合はお知らせください.
ここでの主な利点は、1 つのシートに複数のアニメーションを含めることができるスプライトシートにあると思います (ここでは、数百のアニメーション化されたスプライトについて話しています)。また、以前の質問の 1 つに基づいて、CSS を使用して単一のフレームを簡単に引き出すことができることを知っていimage-rect()
ます。ファイルの場合と同様に、.gif
それぞれのアニメーションの長さが異なる可能性があるため、実際には 1 つのアニメーションしか含めることができません。
補遺:また、アニメーションの一部は特定のスプライトに対して繰り返されるため、スプライトシートにはフレームのコピーが 1 つだけ.gif
必要ですが、(少なくとも私の知る限り) すべてのフレームが必要です。
パフォーマンス
ここでもう一度推測すると.gif
、他のことのために多くの JS コードを実行しているのと同時に、すべてのアニメーションを管理する必要がないため、アニメーション化された s の方が大幅に高速になることが直感でわかります。しかし、確かなことはわかりません。おそらく、ブラウザは 30 以上.gif
のアニメーションで大きな打撃を受けるでしょう。
私の正気
スプライトシートは私のために作られているので、私の作業は最初のうちは高くなります (書き込みとアニメーションエンジン、およびシートごとに 1 つまたは 1 つのハンドコーディング)。しかし、いったん記述されると、それは永久に使用可能であり、スプライトシートの変更にはコードへの最小限の変更しか必要ありません。
一方、アニメーション.gif
ファイルは、Photoshop で簡単に作成できるものではありません (より優れたプログラムがあれば、お知らせください) 。そして、ひとつひとつ手作業で行わなければならず、長いプロセスです。しかし、一度作ってしまえば、変える必要はありません。私のスプライトシートはすぐに変更される可能性は低いので、1 回で完了する可能性があります。
私の質問 (tl;dr)
これは、ファイルサイズ (Web 経由の HTTP ヘッダー転送を含む)、最新のブラウザーでのパフォーマンス、および作成の容易さ (優先度は最も低いですが、私の仕事をより簡単にすることができれば、またはこれに異議を唱えていただければ幸いです)、.gif
スプライト シートから作成されたアニメーション ファイル、または単に CSS と既に持っているスプライト シートを使用していますか?
例
VS