プロが教えるわが家の防犯対策術!

こちらの専門的なカテゴリで質問いたします。

Windowsの3万円くらいのオーサリングソフトでムービーを作っています。

3年前に購入した自分のPC(AMD Turion X2 Dual Core Mobile)と
先日購入した友人のサーバー用PC(Intel Xeon E3-1220v2)とで、
ムービーを書き出す時間(エンコードする時間)に対して差がありません。
サーバー用PCのほうが、おおむね10%程早いくらいです。
ソフトの起動やサムネイル作成の速度はサーバーPCのほうが圧倒的に早いです。

これはエンコードの仕組みなのかと思いますが、
どういった仕組みなのでしょうか。

A 回答 (2件)

>(Intel Xeon E3-1220v2)


Xeon系はその方面は得意ではありませんよ。CPUの目的が違います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
CPUの目的が違うとは初めて知りました。そうなのですか。

お礼日時:2012/07/03 12:29

サーバですか・・・まずはクライアントとして考えられる一般的な問題を書きます。


エンコードソフトは、最近のものでしょうか?
それとも、古いソフトでしょうか?

それによると思います。

基本的には、Intel Xeonの方が数倍高速に動作するはずです。これは、CPUがXeonであろうが、基本的はOS環境がマルチタスク/マルチスレッドに対応し、それと同時にアプリケーションソフトも4コア以上のマルチコア、マルチプロセッサなどに対応していれば、それ相応に高速化するでしょう。

問題となるのは、例えば、Turionで使っていた頃のエンコードソフトを使った場合。
これは、下手をすると2コアまでにしかアプリケーションの最適化がされていない場合*があります。アプリケーションのロードバランスは、コア数に応じて最適化が必要です。最近のものでは、ある程度コンパイラでの最適化とユーザーが機能設定からコア数(スレッド数)などの最適化ができるようなものもありますが、2コア最適化なら2コアまでにしか最適化されません。古いソフトだと十分には機能しない場合があります。

もう一つは、編集に使うソフトは最新でも、エンコーダーが汎用である場合、そのエンコーダーがマルチタスク最適化をしていないものであれば、マルチコアでの高速化はできません。

具体的には、DivXなどのエンコーダーを使う場合、いくらEDIUSなどの優れた編集ソフトを使っていたとしても、DivXエンコーダーが5で古いと、エンコード時のCPU使用率は1コアのみが100%になるかもしれません。すなわち、汎用エンコーダーの場合は、そのエンコーダーが現在の最新版であるかどうか、マルチタスク最適化済みかを確認する必要があります。


また、それらの最適化が行われているソフトの場合。先に述べたように、ユーザーによってパラメータをマルチプロセッサやマルチコアに適した設定に変えないと高速には動かないかもしれません。

これらの点が大事になります。
尚、これはあくまで一般論であり、今回の状況がそれに必ず回答するは言えません。
もし、該当している場合は、プロセッサ使用率がサーバでは100%にならないはずです。この場合は、エンコーダー側の見直し(バージョンアップや買い替え、別のエンコーダーの利用)が必要になるでしょう。

もしも、100%になって遅い場合は、メモリが不足している。OSのロードバランス制御がクライアント向けとして適正ではない(バックグラウンドサービス<サーバ向けの均等リソース割り当て>になっている)、別のDBサービスなどにリソースを食われているなどの原因が考えられます。



*マルチスレッド最適化とは、一般に演算は、連続して実行されることが前提である。そのため、例えば、A+Bの結果Cをもとに、C-Dの計算をするといった具合で連続した計算が行われることが多い。
しかし、この方法では、コアが2つ、またはプロセッサが2つあっても、永遠と結果を次の計算に使うため、プロセッサ2つのうち1つだけしか使えない。
例えば、A+B=CとC-Dが同時に別々のプロセッサ(0コア、1コア)で行われたとしても、Cの結果は存在しないため、差し戻されることになり、1コアの演算はロストする。また、0コアは次の計算に着手しようとするが、すでに1コアに命令が進んでおり、それがかえってくるのを待たなければならなくなる。

結果的に、遅くなるという間抜けな結果になる。そこで、プロセッサの調停装置はそういう連続計算の場合は、1つの0コアのみで実行するように、命令を振り分けるのが、シングルスレッド、シングルタスクの演算方式である。

マルチスレッドというのは、A+Bの結果が、その次の命令であるC-Dとは関連しない形で動く方式をいう。こうすることで、それぞれのプロセッサに異なる役割を与え、実働演算を倍化することができる。
尚、これが同時に2つまで独立して演算できるケースは、デュアルコアやデュアルプロセッサ(シングルコア)に最適化されているデュアルスレッド方式となり、4つで独立すれば、4コアに最適化されるといった具合で、最適化が進む。という具合である。

最新のソフトを作成するコンパイラでは、これらを自動化する技術を搭載したものや、パラメータを手入力くして最適化するものが増えている。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
当方のトラブルでの質問ではなかったのですが、丁寧で細かなご回答は勉強になりました。

オーサリングソフトは、Adobe Premire Elements や Cyberlink のホームユースのソフトです。

エンコーダやプロセッサへの最適化が遅い要因とのことですが、ホーム向けソフトであればなおさらその可能性が高いですね。

動画編集は単純に動画の切り張りとソースと異なる形式への書き出しなので、サーバーPCの高速?とされる性能が、ソフトウェアのプロユースとして最適化されていない部分を吸収し、結果的に早い処理をしてくれれると考えていたのですが、だいぶ事情が異なるようですね。

お礼日時:2012/07/03 12:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!