[ubuntu-jp:5024] Re: Windowsと比べて印刷が遅い件

Naruhiko Ogasawara naruoga @ gmail.com
2014年 10月 20日 (月) 06:32:00 UTC


小笠原です。
なんかプリンターについてはすこしばかり知っているような気もします。
ちょっとダラダラ書きますがお許し下さい。長いです。


> CUPSのlpでキャノンのLBP9520Cを使っているのですが、Windows7のユーザーと共用しています。
> Windowsユーザーが10ページくらい印刷する場合と比べ、Ubuntuで印刷すると一枚ごとに息継ぎをする感じで、後にWindowsユーザーの印刷が控えている場合待たせることになるので急いでいる場合少し迷惑がられています。

LBP9520CということはLinux版のドライバーがキヤノンさんから配布
されているので、それをお使いだと仮定して書きます。

まあ、遅いでしょうね。
Windowsの場合はユーザーが多いのでパフォーマンスチューニングも
かなり切り詰めてやりますが、Linux版の場合、ベンダー製ドライバーで
あっても「印刷できればOK」という品質でリリースされることは(開発の
手間暇と市場シェアから考えても)妥当な判断だと思います。
これはキヤノンさんだけでなく他のベンダーでも同じ傾向です。

なお、コミュニティによるプリンタードライバー(具体的にはFoomaticに
よって提供されるPPDファイルと、多くの場合はGhostscriptの組み合
わせ)についてはやや条件が不利になるという点については、それは
もちろんそうですが、これはコミュニティの開発力不足というより、
Ghostscriptというミドルウェアが単なるレンダラーとしてはちょっと複雑
にすぎるという原因のほうが大きいです。


> 遅い原因としてはいったんpostscriptに変換してCUPを経由することでghostscriptかなんかがラスタデータに変換するので、1)変換時間がかかるのか、2)ラスタデータが膨大なのでプリンタに転送するのに時間がかかるのかが原因なのではないかと思うのですが。。。

この情報はどこ由来でしょうか。

割と前のころから、ほぼすべてのアプリケーションはPostScriptでは
なくPDFを生成し、CUPSはPDFをジョブとしてスプールするように
なっています。

Ubuntu 13.04までは、このPDFを中間処理するときに一度Ghostscript
を通していて、GhostscriptのPDF処理は中間処理がかなり複雑なので
相当遅かったのですが、13.10からは改善されました。

# ここらへんの昔話を知りたければ:
# http://d.hatena.ne.jp/naruoga/20130109/1357746788
# にちょっとだけ書きました。

ただ、ご推察はある程度は正しいです。

プリンタードライバーを簡単に作るためには、アプリケーションから渡って
くる線を書けとか塗りつぶしをしろとか文字を書けといった情報を全部
ビットマップに描画してしまい、それをプリンターが解釈できるラスターデ
ータにして送信するという方法がよく取られるので、むしろその理由の方
が大きいです。中間データがPDFであっても、プリンターが解釈できる
よりリッチなデータを作ることは技術的に可能ですが、前述のとおり、
ベンダーが開発にかけられるコストの問題はあるでしょう。

なお1)2)ともありますが、多分2)に起因する3)プリンター側がラスター
データを受け取って印刷するのに必要なメモリーが膨大になる(ので、
プリンターが処理完了するまでデータの受取ができなくなる)、という要因
がかなり大きいです。


> http://www.atmarkit.co.jp/flinux/rensai/linuxtips/722nodrvprinter.html

> のようなものがあり、1)が原因なら、速いCPUにするか、上のHPのように別途Windowsベースの専用プリンタサーバを解決できそうな気もするのですが、皆さんはどうされているのでしょうか?

今回は使えませんが:

a) プリンターの PostScript オプションを購入し PostScript で印刷する

が多分一番良くて、次に

b) プリンターのメモリーをありったけ増設する
c) 可能ならホストのメモリーも増設しておく

が効くと思います。
Windowsを経由するプリントシステムはあまり本質的な問題解決になり
ませんが(どっちにしてもGhostscriptのmswinpr2ドライバーは、前述の
ようなラスターを経由しているので、できあがるデータは似たようなもの
です)、試してみたいのであれば、上のURLは確かにいくらなんでも古い
ので、せめて:

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0218
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0271

あたりを御覧下さい。

[以上]
-- 
Naruhiko Ogasawara (naruoga at gmail.com)


More information about the ubuntu-jp mailing list