Canon DPPアプリでのメモリ不足

去年の暮れに、Mac Pro 2.4GHz 8-Core(MC561J/A)を購入し、メモリを16GBに、内蔵HDDを2TBを4基のApple StoreのCTOで購入。


とりあえず、写真の仕事で使用するので、画像関係のアプリをいくつかインストール。

と,ここまでは順調でしたが、Canonの純正RAW画像現像アプリ「Digital Photo Professional 3.9.2」がメモリ不足で、作業中断が。

システムプロファイラでMac Proの情報を見ると、64ビットで起動しているので、4GB以上のメモリも使えるはずだと思っていたんですが。


メモリー使用量をモニターすると、約3GBぐらいの使用でメモリ不足になるようです。

Adobe Photoshop CS5ではメモリがフルに使えているので、メモリ不足にならないのですが。


具体的には、DPPでEOS 5D Mark IIのRAWデーター(1ファイル約30MB前後)を300ファイル以上読み込んで作業すると、途中からメモリ不足で作業が中断されます。

DPPはuniversalアプリなので、メモリをフルに使えると思っていたのですが、間違いでしょうか?


64ビットモードとか、あまり理解していないので、詳しい方、教えてくれませんでしょうか?

宜しくお願いいたします。

Mac Pro, Mac OS X (10.6.5), Mac Pro 2.4GHz 8-Core(MC561J/A)

投稿日 2011/01/04 14:26

返信
返信: 27

2011/01/04 17:39 kyo_Photographer への返信

kyo_Photographer

DPPはuniversalアプリなので、メモリをフルに使えると思っていたのですが、間違いでしょうか?

ユニバーサルアプリとは旧型のPowerPC機(G5とか)とIntel機(現在販売されている機種)とで使用可能なアプリケーションの事で、32bit、64bitのアプリはまた別の話です。


Adobe Photoshop CS5ではメモリがフルに使えているので、メモリ不足にならないのですが。


具体的には、DPPでEOS 5D Mark IIのRAWデーター(1ファイル約30MB前後)を300ファイル以上読み込んで作業すると、途中からメモリ不足で作業が中断されます。

AdobeはCS5(Win版はCS4)より64bitに対応しましたので、メモリーはガンガン使える様になりました。

32bitアプリは最大で4GBまでで隅々まで使える訳ではないですが、少なくともそれを超える事はありません。

あと64bit起動していてもそれはOSが64bitなだけなので、アプリが64bitに対応していないと効果が薄いです。


なので、現在直面している状況に間違いはないので、DPPに関してはキヤノンのアプリなのでキヤノンに要請をするしか無いでしょうね。


あと、折角のCTOですがコア数よりクロックの高さが効いて来る場面も多いので、6coreで3.33GHz+GPU(グラフィックボードの強化)の方が良かったかも知れません。

Photoshopや動画のソフトなどはGPUに処理させる部分も増えて来ているので。

2011/01/04 17:55 タカシ への返信

ユニバーサルアプリとは旧型のPowerPC機(G5とか)とIntel機(現在販売されている機種)とで使用可能なアプリケーションの事で、32bit、64bitのアプリはまた別の話です。

わかりやすい説明ありがとうございます。



あと、折角のCTOですがコア数よりクロックの高さが効いて来る場面も多いので、6coreで3.33GHz+GPU(グラフィックボードの強化)の方が良かったかも知れません。

Photoshopや動画のソフトなどはGPUに処理させる部分も増えて来ているので。

DPPがマルチコア対応という話を聞いて、単純にコア数が多ければ、現像作業が早くなるかなと思って。

後々、メモリを32GBフルに載せたいとAppleストアの人に話したら、8コアの方が良いと言われて。


クロック数を優先すれば、良かったかなととも思いますが…。


とりあえず、何となく理解できました。

ありがとうございます。

2011/01/04 18:22 kyo_Photographer への返信


具体的には、DPPでEOS 5D Mark IIのRAWデーター(1ファイル約30MB前後)を300ファイル以上読み込んで作業すると、途中からメモリ不足で作業が中断されます。


同時に300ファイル以上読み込んで作業する必要があるのでしょうか?

もし、可能なら、100 ファイルづつ別アカウントで作業すれば、メモリーは 3 GB x 3 使えるようになります。

各アカウントで、それぞれ DPPを実行することになります。1つの作業に時間がかかるなら、待ち時間の間に他のアカウントの作業が出来ますのでとても有効な使い方です。許諾に厳格なアプリだと、同時実行できるのは1つのアカウントだけに制限されているかもしれませんけど。

unix ならではの使い方です。こういう使い方をするなら、コア数が多い方がよいです。単位時間あたりに処理できる作業は増えますので、速いcpuを使うのと同じになります。ちょっと面倒ですけど、DPPが64ビット対応になるまでしのぐ、ということで。

DPP が対応しているなら、同じアカウントで同時に多数のDPPのプロセスを動かすことも出来ます。もしこれが可能なら、別アカウントを使うことによる不便さはなくなります。もしこれが可能なら、1つのファイル処理にかかる時間が同じ程度なら、多数のDPPを立ち上げて処理すれば、全体としては速く処理できます。作りにもよりますが、4つぐらい立ち上げてみて、1つのファイルを処理する時間が4倍になってないなら複数のプロセスを立ち上げる効果があることになります。(4つ立ち上げても、一つの処理にかかる時間が同じなら、4倍効率よく処理できることになります)

2011/01/04 18:18 はに への返信

同時に300ファイル以上読み込んで作業する必要があるのでしょうか?

うまく説明できないのですが、撮影の進行の関係上、フォルダー単位で管理していますので。



もし、可能なら、100 ファイルづつ別アカウントで作業すれば、メモリーは 3 GB x 3 使えるようになります。

各アカウントで、それぞれ DPPを実行することになります。1つの作業に時間がかかるなら、待ち時間の間に他のアカウントの作業が出来ますのでとても有効な使い方です。許諾に厳格なアプリだと、同時実行できるのは1つのアカウントだけに制限されているかもしれませんけど。

そんな使い方があるのですね。知りませんでした。

もし、よろしければ、別アカウントでの同時作業方法を教えて頂ければ幸いです。

別アカウントとは、/ユーザ/ユーザ名 の事でしょうか?

2011/01/04 18:32 kyo_Photographer への返信

別アカウントでの同時作業方法を教えて頂ければ幸いです。

単に別アカウント(例えば、user1) を作って、そちらでも同じDPPを実行するだけです。あるアカウント(例えば、user)であるファイルを処理するようにしたら、ユーザスイッチで、user1に切り替えるだけです(システム環境設定>アカウントのログインオプションでファストユーザスイッチを有効にしておきます。すると、メニューバーの右端あたりに現在実行中のアカウントを表示しますし、ここでユーザを切り替えることも出来ます)。

ただ、パーミッションの関係がありますので、撮影データファイルを置いているフォルダーはどのアカウントでも読み書きできるように同じグループにしておくなどする必要があります。

先程のメッセージに書き足しましたように、同じアカウントで、同時に複数のDPPを実行できるなら、パーミッションのことは気にしなくてもよくなるので簡単です。

2011/01/04 18:37 はに への返信

単に別アカウント(例えば、account1) を作って、そちらでも同じDPPを実行するだけです。

ありがとうございます。

仕事が一段落したら、一度、出来るかどうか実験してみたいと思います。


素人考えだと、他のアカウントに切り替えた時に、アクティブでないアカウントの処理が停止するのではと思っていました。

2011/01/04 19:51 kyo_Photographer への返信

kyo_Photographer

一般の方からすると、300カットというと物凄い数に思えるかも知れませんよね。

私も動画用途で5Dmk2を購入しまして、静止画のみの撮影をしたら1日で150カット位撮っていました。

連写は使わないのですが、それでも想像していたよりも枚数を撮るしCFカードの消費も激しくて驚きましたね。


ただ、DPPはあくまでも純正オマケソフトと考える方が良いのかも知れませんね。と、、素人が言っていいのか判りませんが(映像の編集が本職ですのでカメラは素人です。笑)

また、Photoshopをお持ちならAdobe Bridgeもお持ちでしょうし、LightroomやApertureに行くのも良いのかもです。

私はBridgeで管理してPhotoshopで開く時にRAW現像をしています。

CS5はキヤノン純正レンズ以外の補正(SIGMA、Zeissも登録されています)も行えるので便利です。


あと、会社のカメラマンはCapture Oneというソフトを使っていました。

(MacbookProとNikon 300SをUSBで直接繋いで、撮りながら取り込んでいた様です)


後々、メモリを32GBフルに載せたいとAppleストアの人に話したら、8コアの方が良いと言われて。

正直言うと、あの人達で実際にクリエイティブ的な事に使っている人は殆どいないのが残念な所です。

(まだまだマルチコアをフルに活かしきるソフトって多くないです。特にアップル製品で、、笑)

2011/01/04 20:11 タカシ への返信

一般の方からすると、300カットというと物凄い数に思えるかも知れませんよね。

そうですね。

私の場合、仕事で1日に約1,000カット程度撮りますので。


ただ、DPPはあくまでも純正オマケソフトと考える方が良いのかも知れませんね。と、、素人が言っていいのか判りませんが(映像の編集が本職ですのでカメラは素人です。笑)

また、Photoshopをお持ちならAdobe Bridgeもお持ちでしょうし、LightroomやApertureに行くのも良いのかもです。

私はBridgeで管理してPhotoshopで開く時にRAW現像をしています。

Canon独自?のレシピ(設定)が反映される唯一のアプリなので、他社の現像アプリだと、カメラの設定値が完全に反映されないという問題も。

現像はDPPで、修正加工はPhotoshopでというパターンです。


あと、会社のカメラマンはCapture Oneというソフトを使っていました。

私の場合仕事柄、35㎜でポートレート、グラビア撮影なので、カメラ単体で使っています。


DPPが64bitになれば、理想なのですが。

それまで、いろいろ試行錯誤しながら使ってみます。

2011/01/04 21:12 kyo_Photographer への返信

DPPが64bitになれば、理想なのですが。

64 bit になっても、シングルスレッドしか実行できないなら価値はぐっと下がります。Canon には64 bit でマルチスレッドで実行できるように要求するといいかもしれません。マルチスレッドで動かせば、割合簡単にマルチコアを活かせます。例えば、300 カットを処理する場合、8個のスレッドで処理できれば、個々のスレッドはほぼ独立に動きますので、大雑把にいえば、個々のコアがそれそれのスレッドを処理できます。この場合、DPPがマルチコアに十分活かすようになってなくても、マルチコアのメリットを生かせます。これはサーバのプロセスなどでは普通に使われる技術です。例えば、httpd のデーモンは普通は150スレッドまで実行出来るようにして使っています。こうしておかないと、ブラウジング要求が来てもすぐに応ずることが出来ないからです。


取り敢えずは、現在の32 bit バージョンでも、ターミナルから

open photo_file

としてやってDPPを実行するようにすれば(あらかじめ、photo_file は DPPで処理するように関係ずけておきます)、ターミナルのウィンドウをたくさん用意して(ターミナルで、command Nとしてやれば新しいウィンドウが開きます)、それぞれのターミナルのウィンドウからコマンドで実行するだけで、同じアカウントで複数のDPPプロセスとして実行できるかもしれません。

こういう使い方ができるなら、DPPそのものがマルチコアに十分対応してなくても、マルチコアや潤沢なメモリのメリットを十分活かす使い方ができます。

2011/01/04 21:33 はに への返信

64 bit になっても、シングルスレッドしか実行できないなら価値はぐっと下がります。Canon には64 bit でマルチスレッドで実行できるように要求するといいかもしれません。

Canonの解答ではマルチスレッド対応という事の用です。

アクティビティモニターで見ると、それぞれのコアが同時に動いているのを確認しました。

(詳しい見方は知りませんが)

一応、Canonには、64bit版を強く要求しておきました。

取り敢えずは、現在の32 bit バージョンでも、ターミナルから

(以下省略)

現像バッチ処理(RAWからJpegなどへ一括処理)は300から500ファイル以上でも処理が出来ているので、問題は、閲覧&修正作業なのです。

こればかりは、バッチ処理出来ませんから…(汗)


いろいろと有用な情報をありがとうございます。

原因がハッキリとわかり、助かりました。

2011/01/04 21:54 kyo_Photographer への返信

kyo_Photographer様、はに

Canon独自?のレシピ(設定)が反映される唯一のアプリなので、

〜 中略 〜

現像バッチ処理(RAWからJpegなどへ一括処理)は300から500ファイル以上でも処理が出来ているので、問題は、閲覧&修正作業なのです。

こればかりは、バッチ処理出来ませんから…(汗)

了解です(私もPSEで5Dmk2の色味をコントロールしながらの動画撮影に事に着手しようとしている所です)

その辺りは純正ソフトならではなんですよね。


現像ソフトという事からすると別アカウントでとかの作業は有効ではないでしょうし、またマルチコアに対応、マルチスレッド対応といってもどれだけ有効活用しているかが重要かと思います。

(失礼かと思いますが、はに様は実際にDPPというソフトをご存知だったり使った事がおありなのでしょうか?)


Photoshopが本気を出した時はフルパワーで処理しますよ。6coreのハイパースレッドなので最大1,200%まで行けるのですが、ベンチマークソフト以外で初めて1,000%を超える所を見ました。

最近のAdobeは頑張ってます。その割に売れていないみたいだけど(笑)

2011/01/04 22:14 タカシ への返信

Photoshopが本気を出した時はフルパワーで処理しますよ。6coreのハイパースレッドなので最大1,200%まで行けるのですが、ベンチマークソフト以外で初めて1,000%を超える所を見ました。

PhotoshopでCanon独自の現像パラメーター?を反映するプラグインとかあれば理想ですね。

そうなれば、わざわざDPPを使わなくても、Photoshopだけで現像から修正作業まで一貫して行えますので。


PhotoshopはCS5になってから、Mac Proで使うと爆速で感動すらおぼえます。

Canonのデジカメの現像パラメーター?を生かさない方向で使うには、LightroomやApertureの方が良いのですが…。

なかなか難しいですね。


余談ですが、一度64bit版の早さを知ってしまうと、32bit版には戻れないですね。(汗)

仕事で使っている以上、処理速度は切実な問題です。

納品が早くできれば、その分、仕事を増やせるので。

2011/01/05 02:56 kyo_Photographer への返信

下記、環境で試してみました。参考になる方がいらっしゃれば幸いです。何の参考にもならなかったら、笑ってお許しください^^;

MacBook Pro(Mid 2009)17-inch Core 2 Duo2.8GHz OS X10.6.4(10F569) Digital Photo Professional3.9.2(3.9.2.0)

画像データCanon 5D mark2のRAW画像(この機種を所有していないので、ネットで拾ってきたものを複製して500枚程度にしました。)


以下、試したことを書きます。

Digital Photo Professional(以下、DPP)を起動してメインウィンドウが表示されたら、500枚程度写真を保存したフォルダを選択。

500枚程度を選択して「セレクト編集画面」に移動。

画像を20から30枚程度閲覧してから「スタンプ」を選択。(スタンプでの作業はしていません。)

これで、ほとんどの場合、メモリ不足に至ります。一度、メモリ不足になると、このアプリケーションはメモリを手放さ無い(一般的にはどうなんでしょう?)ようなので作業を進めたい場合は、ここでアプリーケーションを再起動した方がよいと思われます。


で、アプリケーションを再起動後、どれくらいの枚数を選択して「セレクト編集画面」に移動すれば、メモリ不足が発生しにくいか調べました。

結果、当方では200枚程度なら「スタンプ」はしばらく大丈夫です。別の200枚を選択したして作業を続けると、徐々にメモリ不足の兆候が現れます。ただ、この状況ではしばらく放置するとメモリを手放す気配があります。

100枚程度なら、かなりメモリ不足が発生するまで時間が稼げるのではないかと思います。(時間稼ぎをしてもしょうがないかもしれませんけど^^;)


結論という訳ではないですが、「セレクト編集画面」に200枚超の画像を選択して移動しないですめば、しばらく使えると思われます。500枚程度選択して「セレクト編集画面」に移動すると、ほとんど使えないでメモリ不足が発生します。


以下、余談。

久しぶりにDigital Photo Professionalをインストールしましたが、枚数少なければ結構使えそうですね^^

「メモリ不足」が出るのが嫌で使うのを止めたのを、すっかり忘れておりました^^;

ただ、今のまま64bitアプリケーションになったら、4GB程度のMacだとメモリ不足でOSが動かなくなる気がします。


追記

テストのOSのkernelは32bitで起動しています。


このメッセージは次により編集されています:ni_ki 追記を追記。最初の書き込みは2011/01/05 19:54

2011/01/05 03:20 ni_ki への返信

「セレクト編集画面」に200枚超の画像を選択して移動しないですめば、しばらく使えると思われます

画像が30MBなら、100枚で3GBになります(メモリーには画像を完全に展開していると仮定。そういう作りかどうか分かりませんけど、一番自然な仮定です)ので、32 bit なら100枚程度が限界でしょうね。

100枚の画像のフォルダーを複数作って、ターミナルの別ウィンドウで、

open /path/to/folder/photo_image

とするとどうなりますか?

メモリーがたっぷりあるなら、これをターミナルの2つのウィンドウでやれば、200枚同時処理できませんか?

(ターミナルから実行するというと、コンソールで実行するのかと思われる方がいるかもしれませんが、ターミナルから実行しても、実行中のアプリの見かけは、ファイダー上でクリックして実行した時と同じになります。ただ(うまく動くなら)別スレッドになるので、よりメモリを有効に使うようになるところが違います)



今のまま64bitアプリケーションになったら、4GB程度のMacだとメモリ不足でOSが動かなくなる気がします

OSは自分の動ける範囲のメモリーは必ず確保してアプリにメモリーを割り当てますので、そういう心配は当たりません。

2011/01/05 03:38 はに への返信

はに さんによる書き込み:


画像が30MBなら、100枚で3GBになります(メモリーには画像を完全に展開していると仮定。そういう作りかどうか分かりませんけど、一番自然な仮定です)ので、32 bit なら100枚程度が限界でしょうね。

ご存じかも知れませんが、念のため書いておきます。

Digital Photo Professionalでの処理は、例えるなら「プレビュー」アプリケーションで画像を閲覧しながら写真をセレクトして調整するアプリケーションです。同時にメモリ上に全て展開はしないのではないかと考えているのですが、当方そこら辺は詳しくありません。ただ、写真を生業にしている方々が「300枚の画像を同時に表示して処理すると・・・・」見たいな表現の際には、Macが300枚同時処理していると言うよりは、人間の方が300枚を一単位として処理していると考えた方が良いかもです。

100枚の画像のフォルダーを複数作って、ターミナルの別ウィンドウで、

open /path/to/folder/photo_image

とするとどうなりますか?

メモリーがたっぷりあるなら、これをターミナルの2つのウィンドウでやれば、200枚同時処理できませんか?

なるほど、この手がありましたか。只今、別のOSから起動しているので後ほど試して見ます。考えてみれば、私もディスクユーティリティを3本同時起動して、First Aidを複数のドライブに同時にかけるなんてことをやっておりました^^


以下、余談な書込です。

今のまま64bitアプリケーションになったら、4GB程度のMacだとメモリ不足でOSが動かなくなる気がします

OSは自分の動ける範囲のメモリーは必ず確保してアプリにメモリーを割り当てますので、そういう心配は当たりません。

OSって結構、がめついヤツなんですね。自分だけ、メモリを確保するなんて^^;

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Canon DPPアプリでのメモリ不足

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。