Koji Otani
sho****@bbr*****
2009年 2月 3日 (火) 13:35:10 JST
大谷です。 From: TORATANI Yasumasa <torat****@canon*****> Subject: Re: [Opfc-developer 167] update PDF filters Date: Tue, 03 Feb 2009 11:46:59 +0900 Message-ID: <20090****@canon*****> toratani.yasumasa> 大谷さん、 toratani.yasumasa> toratani.yasumasa> 虎谷です。 toratani.yasumasa> 対応頂、有難う御座います。 toratani.yasumasa> toratani.yasumasa> On Mon, 02 Feb 2009 19:53:23 +0900 (JST) toratani.yasumasa> Koji Otani <sho****@bbr*****> wrote: toratani.yasumasa> toratani.yasumasa> (中略) toratani.yasumasa> toratani.yasumasa> > ・popplerに対するcolor managementパッチを最新版に変更 toratani.yasumasa> > CMYKプロファイルの場合の不具合修正 toratani.yasumasa> > Fill Patternが、場合によっては非常に遅かったのを高速化 toratani.yasumasa> toratani.yasumasa> 既にパフォーマンスを測定しているようでしたら、結果をアップして toratani.yasumasa> もらえますでしょうか? toratani.yasumasa> 曖昧だったので、もう少し説明します。 この高速化は、ColorManagementを入れたことによる速度低下を補うものです。 Color Managementと関係ない部分の高速化ではありません。 Color Managementをいれることにより、あるPDFが非常に遅くなったので、そ れの高速化をしました。 テストに使用したのは、PDF Specification 1.7の831ページです。 popplerのdemoプログラムでの計測です。 ColorManagementを入れる前: 約0.2秒 ColorManagementを入れた後: 約126秒 高速化後 : 約0.2秒 おそくなった原因は、popplerのFill Patternのアルゴリズムにあります。 popplerでは、Fill Patternを行う場合、Patternが繰り返されると、その都度、 パターンのPDFを解釈実行します。 もし、パターン内にICCBased Colorの指定があると、その度に「Color Profile の読み込み解釈実行、変換データの作成」という、時間のかかる処理を行って しまいます。例えば、上記のPDFだと272回もこれを行ってしまいます。 そのため、非常に遅くなってしまいました。 高速化は、変換データをキャッシュするようにしたものです。