PNGファイルを書き出す時にインターレースPNGにすると、ファイルサイズ増えるけど、表示の体感は速くなる。また、ウェブページにおいては最初に画像の大きさ分だけ確保されるので、リフロー(レイアウト)を抑止できる。レスポンシブ・イメージとまでは言えないけど、多少はみんなに公平に優しい気がするので、ファイルサイズをケチらずに、すべてインターレースPNGにしてしまうのが良い気がする。デメリットも特に知らない。
新たなPNGファイルならば書き出し時にインターレースPNGにすれば良いけど、既存のものを手作業で修正しようとなると面倒くさい。optipngにインターレースPNGに変換するオプションがあるので、それを使って処理すると良い。
$ optipng -i 1 -strip all *.png
ついでに消し忘れているかもしれないメタデータの削除も行うと、ファイルサイズが節約できて幸せ。メタデータの削除機能はv0.7からの機能なので、古いバージョンを使ってる人は新しいのに入れ替える必要がある。
手元のPNGファイルがインターレースPNGかどうかをチェックするには、同じoptipngの-simulate
オプションで確認するのが手軽。
$ optipng -simulate example.png ** Processing: example.png 582x582 pixels, 3x8 bits/pixel, RGB, interlaced Reducing image to 8 bits/pixel, 60 colors in palette Input IDAT size = 8084 bytes Input file size = 23456 bytes Trying: zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 3722 Selecting parameters: zc = 9 zm = 8 zs = 0 f = 0 IDAT size = 3722 No output: simulation mode.
出力の2行目に画像の縦横サイズとカラーモード、そしてインターレースかどうかが書かれている。WindowsではTweakPNGという(ショボい)GUIのメタデータ・エディターがあるので、それでも良いかも。