Pen4のHyper-Threadingじゃだめなのか?

 私が愛用しているInkscapeの話です。ベクター画像を扱うInkscapeですが、0.47まではマルチスレッドには非対応でした。それが0.48になって「ガウスぼかし」をマルチスレッドで処理できるようになったとのこと。これはチェックしないといけません。

 さっそくUbuntu 10.04 LTSのInkscapeをアップグレード。なお最新版のUbuntuである10.10では普通に

sudo apt-get install inkscape

とするだけでInkscape 0.48が導入されますが、10.04だとアップグレードしても0.47のままです。リポジトリを追加してからアップグレードしないといけません。その辺りの作業は他のサイトでも扱われているので省略して、0.48がインストールできたものとします。

 次にしなければいけないのはマルチスレッドで処理するようにする設定。これはInkscapeの設定、フィルタ項目で行えます。デフォルトではマルチスレッドで動作するようにはなっていないので、ここで設定してからInkscapeを再起動する必要があります。

 以上でマルチスレッドな動作をするはず。検証のために用意したのはレイヤー数約100枚、フィルタとかかけまくってて結構重たい画像。検証しやすくするために、ガウスぼかしとフィルタの表示品質は最高に設定。マシンはUbuntu 10.04 LTS amd64を動かすPhenom II x4 945のマシン、それに10.04 LTS i386を動かすPentium 4 3.8 GHz(型番失念)でHT ONのマシンの2台を用意。

 まずはInkscapeのウィンドウ内で画像を表示する際の動作。スクロールしたり拡大縮小したりした際のinkscapeのCPU負荷をTOPコマンドで調べます。Phenom II x4 945の方ではCPU使用率が200%越えを記録!(TOPコマンドでは1スレッド辺りの最高負荷を100%とするので200%というのはマルチスレッドで動作している証)しかしPen4マシンの方はどうやっても100%を超えず…。

 続いて画像のエクスポート。ベクター画像をPNGに出力するのでこちらも処理に時間がかかる作業。これもPhenom II x4 945マシンでは最大260%を記録!しかしやはりPen4マシンは100%を超えず…。

 結局普段Inkscapeを使用しているPen4 3.8Ghzのマシンではマルチスレッドでの動作は確認できませんでした。これはInkscapeのバージョン(0.48まではどちらも同じ)が悪いのか、それともHyper-Threadingじゃだめなのか分かりません。また時間があれば検証したいと思います。ですがPhenom II x4 945の方でマルチスレッド動作したのはしっかり確認できました。これは事件ですっ!革命ですっ!Linuxの2DCG界にもマルチスレッドの波がやってきたのです。素晴らしいじゃありませんか。

 しかしこうなると余計に次組むマシンは4コア、もしくは6コアにしないといけなくなりました。前に560で組もうか等と書きましたが、「どうせLinuxのグラフィックソフトじゃマルチスレッドは期待できない」とか言ってデュアルコアを使うことは許されなくなったわけです。クアッドコアなら970、いやもうそれなら1090Tを使うのが正解か…?とりあえず4コア以上になることは間違いないでしょう。

Post a Comment

Your email is never published nor shared.