画像処理用パソコン

追記 : Ramdiskデバイスについて ページ下に追記しています。 2009年2月

全体
 現在画像処理に使っているパソコンは2007年8月に作ったものです。
この頃に大きくマザーボードのチップセットが変わり、intelのP35が登場しました。また、CPUも安くなり前のチップセット845PEから何年かぶりに自作したものです。

こだわった点は
 机上には本体を置かず、でも、ドライブ・電源スイッチなどは手の届くところに置くように製作しました。
 前のパソコンと合わせて2台のパソコンを有意義に使えるようにすること。現在はCPU切り替え器を使い、1つでエンコーダーやテレビ録画をさせて、もう一台で画像処理をしています。古いパソコンも有意義に使えます。
 それから、今回分かった大容量メモリをつかいきるシステムを作ることでした。

ハードウェアの構成
 記号ばかりで、マニアックな表示になってしまいますが。

CPU:     Core2Duo E6850
マザーボード:P5K-E
メモリー:   DDR2 800Hz 6G
HDD:     SATA 250G*2 (RAID0) 125G
グラフィック: Nvidia 8600

 ここで、CPUは流行のデュアルコアですが、本当にこの実力を見せてくれるのは私の持っているソフトではアドビの製品ぐらいでしょうか?ステライメージ5は?ソフトがマルチスレッディングに対応しているものを持っていないのです。
 そこで、CPUを選ぶ時にCore2Quadもあまり変わらない値段が付いていますから、つい目を奪われます。しかし、CPU1つでしか作業をしないソフトを動かす場合、Pentium4の高クロックの方が速い場合があるようです。

メモリーの壁

 みなさん、ステライメージやフォトショップでパッチ処理をしているときに、画像は読み出したはずなのに処理中しきりにHDDランプが点灯していることがよくあるのではないでしょうか。また、処理はじめは速く処理をしていたのに、ソフトを閉じないで、違う画像を処理するといきなり時間がかかりだす経験はありませんか。
 これは、ご存知かと思うのですが、メモリーの容量が減ってきたので、HDDをメモリー代わりにして一時保存をしてメモリー代わりにやり取りをしているのです。(このファイルのことをスワップファイルとかページファイルと呼ばれています。)
 画像の処理の速さはCPUの速度とメモリーの速さと量で決まるようです。特にメモリーをうまく割り当てれば画期的に処理が速くなりそうなのです。

 しかし、大きな壁がOS_XP32ビットにはあります。
 このマザーボードのP5K系は8Gまでメモリーを積めます。私の場合1G*2+2G*2を積んでいます。右の画像はBIOSでは6144MBときちんと認識をしてくれているのですが、32ビット版OSでは
 左の画像のように3.00GBとしか認識をしてくれません。残りの3Gはどこに行ってしまったのでしょう。間違いなくパソコンの中にあるのですが、32ビット版OSでは使えないのです。

 このパソコンを作った頃は4Gを積んでおり、どうにか残り1Gを認識できないか調べたのですが、OS認識外のメモリーを使うことは難しいようです。そのうえ、アプリケーションで使えるメモリーはその半分、3Gのうち1.6G程度しか使えないのです。

この問題を回避する一番の方法はOS64ビット版を使うことです。マザーボードが許せばHDDのような容量のメモリーが積めるそうです。ただ、使っているデバイスの64ビット用ドライバーが用意されているか、ソフトは64ビットで動くのかという違う壁に当たります。

そこで、最近分かったいい方法があるのです。

逆の発想
 「スワップファイルはメモリーの不足分をHDDにその役割をさせるのなら、そのHDDをメモリにすればいい」というのが今回の発想なのです。
 このようにRAMで作られた見た目HDDのドライブをRamDiskと呼ぶそうです。
 今まで、RamDiskの管理ソフトは作られていましたが、OSの認識内でした。今回使用した、「Gavotte Ramdisk」というRAM Disk作成ツールはOS領域外に作ってくれるのです。
これは画期的なことに私には思えます。
RamDiskを作る
 まずは、「rramdisk.zip」をhttp://www.chweng.idv.tw/swintro/ramdisk.phpからダウンロードします。保存場所はディスクトップでかまいません。圧縮ファイルなので開いて解凍をします。

 このソフトをインストールさせる前にブートエントリーを変更します。
 左の図のように「コントロールパネル」→「システム」→タブ「詳細設定」→「起動と回復」の設定を開きます。
 起動システムの編集を開くとテキスト形式の文章が出てきます。
 このテキスト形式の文末に「(スペース)/PAE」と間違いなく追記して保存をかけます。
 その後、再起動をかけるとマイコンピュータに「物理アドレス拡張」と言う記述が増えます。メモリーの拡張モードの準備ができたことになります。
 次にRamDiskを作製します。
 ディスクトップに解凍した「rramdisk」フォルダ内の「.reg」ファイルを起動し、レジストリの追加変更をします。
 次に、作製ソフトを起動します。「.exe」をダブルクリックすると左のウィンドウが開きます。
 まずは、右上の「Install Ramdisk」ボタンをクリックし、「Driver Letter」が他のデバイスとかぶっていないことを確認します。(私の場合かぶっていましたので変更しています。初期値はR:です。)後の項目は触らなくていいようです。「Disk Size」が16Mとは小さすぎないかと心配になりますが、自動で残り分のメモリーを設定してくれます。

 後はひだりしたのOKボタンをクリックするだけで、HDDと認識されるRamDiskが作られています。
 思ったようにRamDiskが作られているか確認します。
 マイコンピュータを開くと指定したDriver LetterにHDDができています。名前も付いてくれます。
 容量も6G(搭載メモリ)-3G(OS認識分)=3Gにおよそなりますが、2.99Gと自動で残り分を作ってくれています。
 まだ、信用できませんので、ベンチソフトにかけてみました。
 結果は、とんでもない数字が出ます。Readなど桁が足りないようです。
 これは、間違いなくRamなのです。
 あまりにもあっけなく作れました。何ということでしょう、感激ものです。
 ここまでの記述の内容の変更はコンピュータに致命的なダメージを与える恐れがあります。(起動しなくなるなど)十分慎重におこなってください。
 また、3Gを超えるメモリーを搭載できるコンピュータでないと有用ではありません。

画像処理におけるRamDiskの利用
一時保存ファイルや作業ファイルをこのRamDisk内に作ることにより、画像処理等の作業が飛躍的に速くなります。
ただ、このドライブはRAMなので、パソコンをシャットダウンすることによりこのドライブ内のすべてのデータは消えてしまいます。ですから、大事なデータの保存をしていけないことになります。
 でも、この「忘れてしまう」ことが利点となるのです。もともと、一時ファイルや作業ファイルはCドライブに作られています。このファイルはアプリケーションソフトを操作するごとに保存が増え、アプリケーションの終了とともに消えます。 このことが断片化を進めます。また、アプリケーションソフトの中には終了してもそのまま1Gサイズの一時保存ファイルが残る場合があります。こうなるとユーザーが削除をしない限り大きなごみとなるのです。
Tempファイルの移動
 アプリケーションが特に環境設定でフォルダを指定していない場合、tempフォルダに一時的な作業フォルダを作ります。このフォルダをRamDiskに移動させます。

 方法はシステムのプロパティを開き、タブ「詳細設定」の下にある「環境変数」をクリックすると左のような画面が現れます。
 まず、ユーザーの環境変数にTMPとTEMPの定義がある場合は削除します。
 それから、下の段のシステム環境変数の下のほうにあるTEMPとTMPの値を(RamDisk):¥TEMPに編集します。

 「Gavotte Ramdisk」ではパソコン起動、RamDisk内に空のTempフォルダを自動で作ってくれます。ですから、この値は有効になります。


 注:気になることがあります。EI8のアップデートをしたときに再起動後「TENPフォルダ内の実行ファイルがありません。」と出て、にっちもさっちもいかなくなりました。そりゃそうですよね。再起動をかけるとRamdiskの中のデータは消えますからね。
こういうときは要注意です。
ステライメージでの作業用フォルダの変更
 ステライメージは専用の作業フォルダを指定することができます。
 「設定」ないの「環境設定」を開き、「仮想記憶」欄の「仮想記憶ディスクを指定する」にチェックをいれ、RamDiskを指定します。
 最大使用ディスク容量はRamDisk容量を指定すればいいのですが、他のアプリケーションと取り合いになりますので、見極めなければなりません。

 ステライメージの仮想記憶ディスクは一つしか指定できませんので、小さい容量しか指定できない場合はステライメージの作業がとまってしまいます。バージョン情報をクリックして何枚ぐらいの作業ができるかも参考にしてください。
フォトショップでの作業用フォルダの変更
 フォトショップも専用の作業フォルダを指定することができます。
 「編集」内の「環境設定」内の「パフォーマンス」をクリックすると左のような画面が表示されます。
 この画面を見て分かるようにOSでは約3.1Gが認識されているのに1.662Gしかアプリケーションでは使用することができません。残りはシステムに割り当てられているようです。(そんなに使わないようです。)
仮想記憶ディスクをRamDiskに指定します。
ページファイルの移動
 システムのプロパティを開き、タブ「詳細設定」を開き、パフォーマンスの「設定」ボタンをクリックし、「パフォーマンスオプション」のタブ「詳細設定」内の仮想メモリの「変更」をクリックします。
 初期値はCドライブに割り当てられていますが、「ページング ファイルなし」を選択し、RamDiskに初期サイズと最大サイズを指定して「設定」ボタンをクリックして設定変更ができます。(初期サイズを最大サイズと同じにすると初めからそのサイズになりページファイルの破断を防げます。)

 ページングファイルの場合は他のドライブにまたがって容量を増やすこともできます。

アプリケーションへのメモリの割り当てを増やす
 OSが認識をしているメモリはシステムとユーザーが使用するアプリケーションにほぼ半分ずつ割り当てられるようです。XPの場合はシステムに割り当てる量を減らせそうなので、左のようにブートエントリーを書き換えました。
 付け加えた項目は「_/3GB_Userva=○○00」となります。Uservaの値はMBの単位となります。ユーザーの使用する量を指定してください。

Ramdiskデバイスの実装
 上記でもわかるように私のPCのマザーは8Gまでしかメモリーを載せることができません。OS認識外の5Gでは画像処理の作業領域としては不十分だと実感していました。
 でも、Ramdiskの速さを知ってしまうと、安くなっているDDR2のメモリを使いたいと思ってしまいます。
 以前まではiRAMというこのデバイスと似た働きをするものがありましたが、DDRでしか認識をしてくれません。DDRは割高になっています。
 今回購入をしたデバイスですが、ACARD社製の「ANS-9010B」という製品です。
 ここでメモリの話ですが、私はよくバルク品というものを買います。確かに、メーカー製の物に比べると、信頼性にかけるといわれますが、安くといいものもあるようです。
 メモリは壊れるものですね。今まで、4回ほど壊れ、ブルー画面が突然表示されたり、突然再起動がかかったりとびっくりさせられます。このような場合は2枚つんでいて1枚が壊れてもPCは正常ではいられないようです。そんなときは壊れたメモリを探し抜けば、正常に動きます。
 
独断で確かなことではありませんが、私と相性のいいメモリは「センチュリーマイクロ」と「UMAX」です。
 右に写っているにはバックアップバッテリーです。RAMは電源を切るとデータは消えてしまいます。それで、PCの電源が切れてもデータを保持するために電気を送っているのです。ということはこのメモリにOSやアプリソフトもインストールできるということです。また、CFにバックアップを取ることもでき、ボタンひとつでリストアしてくれるそうです。
 しかし、私の使い方としてはデータをPCを切っても覚えているとごみが増えるだけになるため、このバックアップ電源やCFカードは装着しないようにしました。

インストール
インストール手順は次のようになります。
 @必要な枚数のDDR2メモリをしっかり奥まで挿します。場所はどこでも構わないようで、また、奇数枚でもいいそうです。ジャンパーピン4をショートさせ、ECC機能をとめます。
 APCの5インチベイにねじ止めをし、電源とSATAのケーブルをマザーボードの挿す。
 BPCを起動する。まだ、マイコンピュータにはHDDとして認識していない。でも、デバイスマネージャーではデバイスとして認識をしているはず。ドライバーはOS標準ドライバーで認識してくれます。
 Cコントロールパネルからコンピュータ管理を呼び出し、フォーマットをします。今回の使い方の場合は論理ドライブとしてでいいでしょうね。これで、HDDとして認識をします。

 わたしは、このRamdiskデバイスにはステライメージとフォトショップの作業領域を指定し、OS認識外のメモリにはページファイルを当てています。

後記
 2008年8月現在で「DDR2 SDRAM、DDR2-800 2G*2」のメモリが8000円ほどで売られるようになりました。
 また、マザーボードの搭載できるメモリの量も8G,16Gと新しいチップセットの発売とともに搭載できるメモリの量も倍増している状態です。
 この安くなったメモリをうまく活用して、快適なPC環境でストレスなく画像処理をおこないたいですね。


 追記:2009年2月現在で「DDR2 SDRAM、DDR2-800 2G*2」のメモリの価格は4000円ほどに下がっています。
また、作業フォルダに適しているのはRamだけでなく、SSDというメモリチップを組み込んだHDDが今後主流になりそうです。
2008年9月 追記:2009年2月
TOP