Edited at

ImageMagick高速化まとめ

More than 3 years have passed since last update.


ImageMagick高速化まとめ


最新版を使う。


imagemagickをOpenMPを無効にして最新にバージョンアップ

デフォルトでOpenMPオプションは有効になっています。

OpenMPオプションが有効のままだと、メモリを多く消費するようです。


--disable-openmp


convertコマンドによるリサイズ処理に、下記オプションを設定

-define jpeg:size=リサイズ幅xリサイズ高さ


このオプションが有効なのはjpeg画像のみですが、

リサイズ処理の時間の削減、メモリ消費を抑えることができるようです。

一説では、このオプションの有無で10倍の速度の差が発生するといわれていました。

jpeg画像をリサイズする際には上記オプションを必ずつけるようにしましょう。

本当は速いImageMagick: サムネイル画像生成を10倍速くする方法



8bit


QuantumDepth=8バージョン(Q8)は業界基準の24/32ビットピクセルを提供します。

通常はこのQ8バージョンで十分です。 もう一方のQuantumDepth=16バージョン(Q16)は、

48/64ビットピクセルの高画質カラーを提供します。 Q8はQ16に対してメモリ使用量は約半分、

CPU消費量は30%程度少ないです。

学術・医学的な目的で使用する場合、高精度のQ16を選択すれば良いでしょう。


--with-quantum-depth=8


libjpeg-turboを入れる (書き途中)


更にこれ使えば爆速?


libjpeg-turboはMMX、SSE、SSE2 SIMD命令を使用して、

x86および64ビットx86プラットフォームでの

ベースラインJPEG圧縮/伸張処理を2倍から4倍程度に高速化します。

libjpeg/SIMDをベースにしていますが、数多くの改良が施されています。

http://sourceforge.jp/projects/sfnet_libjpeg-turbo/

libjpeg-turbo-1.2.0.x86_64.rpm



インストール

cd /usr/local/src

sudo wget 'http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Flibjpeg-turbo%2F1.2.0%2Flibjpeg-turbo-1.2.0.x86_64.rpm'
sudo rpm -Uvh libjpeg-turbo-1.2.0.x86_64.rpm

準備中... ########################################### [100%]
1:libjpeg-turbo ########################################### [100%]



確認

cd /opt/libjpeg-turbo/

tree
.
|-- bin
| |-- cjpeg
| |-- djpeg
| |-- jpegtran
| |-- rdjpgcom
| |-- tjbench
| `-- wrjpgcom
|-- classes
| `-- turbojpeg.jar
|-- include
| |-- jconfig.h
| |-- jerror.h
| |-- jmorecfg.h
| |-- jpeglib.h
| `-- turbojpeg.h -> /usr/include/turbojpeg.h
|-- lib64
| |-- libjpeg.a
| |-- libjpeg.so -> libjpeg.so.62.0.0
| |-- libjpeg.so.62 -> libjpeg.so.62.0.0
| |-- libjpeg.so.62.0.0
| `-- libturbojpeg.a -> /usr/lib64/libturbojpeg.a
`-- man
`-- man1
|-- cjpeg.1
|-- djpeg.1
|-- jpegtran.1
|-- rdjpgcom.1
`-- wrjpgcom.1


設定

# 毎回exportはめんどくさいから

# ldconfigに追加してあげる
echo /opt/libjpeg-turbo/lib64/ > /etc/ld.so.conf.d/libjpeg-turbo.conf
ldconfig


ImageMagickへの適用

ちょっと待ってください。。。。



画像軽量化まとめ

・メタデータを削除する。

・webpを検討する。