3

HTMLページにデータURIを含める場合、ASCII、UTF-8、またはbase64を使用するのが最適ですか?

これらのいずれかとして表現できるSVGファイルに使用しています。

UTF-8(URIエンコード後)は、非圧縮の場合でもbase64よりも少し小さいですが、base64を使用することには他の利点(CPUパフォーマンスなど)がありますか?

4

1 に答える 1

4

私はこれに関連するいくつかのテストを行っていました。フロントエンドに関しては、レンダリングする前にデコードする必要があるbase64を除けば、ほとんど違いはないと思います。サーバー側では、ファイルが小さいほど、処理するデータが少なくなり、使用されるCPUが少なくなります。これにより、UTF-8が最もCPUを集中的に使用しないサーバー側になると思います。

いくつかの半関連のメモ:

ファイルサイズに関しては、サーバーがgzipで圧縮されると、svgがpngよりも優先されます。

サーバー側のgzipをオンにしたために、CPUに小さなヒットが発生したことを読みました。しかし、より少ないデータを処理する必要があることによるCPUの利益は、各ファイルをgzipで圧縮する必要があることを意味します。

SVGは、png、jpg、gif、bmpなどよりもレンダリングにプロセッサを集中的に使用します。ビットマップはレンダリングするだけです。SVGを計算し、ラスタライズしてからレンダリングする必要があります。多くのまたは複雑なsvgをアニメーション化するときに注意する必要があるもの。

私が見つけたいくつかの統計

  • ロゴpng=9.2kb-> gzip = 9.2kb
  • ロゴsvg=10.5kb-> gzip = 4.4kb
  • pythonscourを使用してsvg=9.4kb-> gzip=3.9kbを最適化した後のロゴsvg
  • ロゴsvgurlエンコード=10.9kb->gzip 4kb
  • ロゴsvgbase64エンコード=12.4->gzip 5.5kb
于 2013-04-17T06:25:53.460 に答える