punypngをためしてみた
2009-09-11


ASCII.jp:30分でできる!Webサイトを高速化する6大原則
の画像最適化でpunypngが紹介されていて、他のツールとの比較で圧倒的すぎるので、ちょっと試してみました。

先ずは元画像も手に入るButterfly

Butterfly 105,332
PNGOut 97,106 92.2%
OptPNG 102,277 97.1%
punypng 62,331 59.2%

確かにこりゃ圧倒的だ。

次はASCII.jpのサンプル
余談ですが、圧縮前の画像(004_304x100.png)と圧縮後の画像(005_304x100.png)が全く同じもので、しかも圧縮前の18,356バイトでもなく圧縮後の14,888バイトでもない16,188バイトと何をどうしたのかさっぱり分からないサンプルで、仕方ないのでそれを使いました。

004_304x100.png 16,188
PNGOut+cPNGC 15,922 98.4%
OptPNG+cPNGC 15,380 95.0%
punypng 14,986 92.6%

こちらは大きな差はつきませんでしたが、確かに一番優秀です。
ちなみにどちらのテストでも、OptPNGは「-zc1-9 -zm1-9 -zs0-3 -f0-5」(1080通り)のオプションを指定してます。

驚きなのが処理速度で、Webアプリにも関わらずpunypngはPNGOutとほとんど処理時間が変わりませんでした。一方でOptPNGは(1080通り)のオプション指定のせいもあって4倍くらい時間がかかりました。

ついでにJpegも以前テストした画像で試してみましたが、自動的に最小サイズになるように選択されるのかプログレッシブで返ってきました。ベースラインかプログレッシブかを選べないのは残念です。

サイズは101,933バイトで、JTBの方が18バイト小さいという結果になりました。
Jpegに関してはベースラインを選べないというのもありますし、手持ちのツールでいいかなと。

私はGifの最適化ツールは持ってないのですが、どうせなのでGif画像(1)も試してみました。
結果は23,402バイトが20,178バイトに。
<追記>
Gifsicle(-O2)と比較してみました。(画像(2)、(3)は公開していません)

OPTPiX punypng Gifsicle
画像(1) 23,402 20,178 20,178
画像(2) 80,098 78,921 78,921
画像(3) 112,660 109,864 109,864
以上、punypngとGifsicleでサイズに違いはみられませんでした。

ということで、punypngはPNG画像の最適化のみ利用価値があると考えます。
ただし、ファイルサイズの上限があるのでなんでもというわけにはいきませんけれどね。
</追記>


こりゃ参った。速いし、よく縮むし、Webサービスでなく通常のアプリケーションにしてリリースして欲しいです。


参考
 Webで使用する画像ファイルの最適化 - maruko2 Note.
[画像]
[PC]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット