• ベストアンサー

グラフィックアクセラレーターについて

こんにちは。 3DCGのレンダリングをするのにグラフィックアクセラレーターがあるのとないのとでは時間がどれくらい違うか知りたいです。 現在使用しているPCはグラフィックアクセラレーターは搭載しておらず、CPUはCore i5です。 例えばこのPCでレンダリングに24時間かかる画像を、専用ビデオメモリー2G付きのグラフィックアクセラレーターを搭載した、その他諸々の条件は同じPCでレンダリングした場合、おおよそ何時間ぐらいで終了すると予想されるでしょうか? だいたいで結構です。 ご存知の方がおられましたら教えてください。宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • smpc
  • ベストアンサー率45% (1006/2198)
回答No.2

POV-Rayで検索してみましたが、GPU支援には非対応のようです。 マルチスレッド対応のようですので、4コア以上のCPU(i7など4コア+Hyper-Threading対応のものがベター)を使うのが最も高速かと思います。 http://www.koka-lab.net/cg/tool.htm

loiter
質問者

お礼

どうもありがとうございます。 現在使っているのがv3.62なので、i5の性能を発揮していなかったということを知り驚きました。 v3.7を使うと現在の環境でも改善が望めそうですね。 ビデオカードやGPUと呼ばれるものについて当方いまひとつ理解していないのですが、ゲームや動画の表示を高速化するためのものと、当方が目的としているような3D画像制作のレンダリングを高速化するためのものは別物だと聞いたことがあります。GPU支援に非対応というのは後者にもあてはまることなのでしょうか? 質問の連鎖で申し訳ありません。

その他の回答 (4)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.5

>しかし、同じヘルプファイルの他の項目には、「グラフィックスカード」でレンダリングが速くなると述べられているのです。下記ページ1)-6にそのことが書かれています。 ちょっと日本語訳があやしくて読み解くのが難解なのですが(しかも書かれたのはかなり昔な気が)、POV-Rayでのレンダリングが速くなるとは書かれてなくて(というよりPOV-Rayにおいてはビデオカードに投資しても無駄と書いてあるような)ゲームなどでのリアルタイムなレンダリングのケースの話だと思います。

  • parts
  • ベストアンサー率62% (6366/10151)
回答No.4

すでにソフトに関する回答があるので、補足の部分だけを補います。 まず、グラフィックアクセラレータ(ビデオカード)についてです。 GeForce GT 640M LEやIntel HD Graphicsはいわゆるアクセラレータの一つです。これらは、能力的(速度や命令セットにおいて)優れいているかそうではないかの違いしかありません。 即ち、搭載されていると見るのが妥当であり、ワークステーション品との違いは、OpenGLの実効性能に重きを置いているかそれとも、DirectXなどの汎用シェーダーに重きを置くのみかの違いです。一般にはドライバや各種回路がGLや各社の専用APIに最適化されているものがワークステーション品です。 DirectX重視は、一般品です。どちらも、基本的には重きを置くものが違うだけで、同じ世代のビデオチップなら、搭載しているAPIの差はない場合もあります。即ち、たいていは汎用品でもハードウェアレンダリングに対応したソフトを使っているなら、CPUの使用率を抑えて動作させることはできます。 速いかどうかは分かりませんけどね。(後述) では、レンダリングに影響するかどうかはどう決まるのかというと、どのAPI(ハードを制御する上で必要な関数群のセット、プログラミングアプリケーションインターフェースの略です)を使うのかによって変わります。例えば、画像データを生成する際に、頻繁に使う陰影技術の頂点演算を高速化する命令があったとします。まあ、これをShaderと呼ぶのですが、この命令を使うには実行するソフトウェアがShader Model準拠の、命令セットを使うようにかかれていなければなりません。 しかし、一部のソフトではそれ自体を実装せずその代わり、一般的なShaderモデルでは作れないような、多様な機能を備えていたり、または無償で提供されていたりするかも知れません。 最近、ゲームソフトではWindowsの場合は、Direct GraphicsかOpen GLが使われるようになったため、それを意識しなくとも自動的に3DCGや2DCGは、ビデオアクセラレータで演算されます。 しかし、まだそれらが主力でなかった頃は、それぞれのビデオチップに対応APIが存在し、それに最適化されたソフトのみが高速化するという時代もあったのです。レンダリングソフトでは、その傾向が今でもあります。そもそも、レンダリングソフトは、すでにシナリオに沿ってレンダリングをするのではなく、パラメータを弄って自由なCGを作成するソフトです。そのため、既存のAPIは使わずCPUのみで演算するケースも多いです。 一応参考として、Direct 2Dによるレンダリングについてかかれています。これは、ソフトウェア開発者に向けたものです。 http://msdn.microsoft.com/ja-jp/library/dd370987%28v=vs.85%29.aspx 次に、どれだけ時間が短縮されるかについてですが、例えばCore i3 2120とPhenom X4 9550では、何秒違いますかと言われて、質問者様は答えられますか?グラフィックスチップのメーカーには、例えばグラフィックスワークステーションでは、AMDやnVIDIAなどがあります。また、医療系ではMatroxなどもまだ生きています。さらに、CPUと同じで動作クロック周波数も製品によってまちまちであり、先に述べた、命令セットの対応バージョンも複数あるのです。 そのため、簡単に24時間が1時間になるとか、簡単にそういう話にはなりません。 対応したアプリケーションを用い。さらにそのGPUの種別とクロックが分かったときに始めて、どれだけ変化するかを調べるための土俵が整います。たいていの場合は、利用者が自らで使用前と使用後を試して速度を確認するのが手っ取り早いです。 いかがでしょうか? ちなみに、レンダリングにおけるソフトウェアレンダリングとは、CPUの汎用性を用いて演算する方式です。ソフトウェア側で実装できる命令を柔軟に設計できる傾向があります。いわゆるハードの縛りがないのです。その代わり、専用ハードウェアでCPU負荷を軽減して行うことができないため、CPU使用率が高くなることがあります。CPU速度が高いほど高速になります。このソフトウェア制御では専用ハードウェアを使うことはありません。全てCPUで処理します。 ハードウェアは、専用のハード機能に依存するレンダリングです。例えば、Open GLやOpen CL、DirectX、GLID、PhysX、CUDAなどがあります。これらを使うことで、処理速度を大幅に向上したり、またはCPUの使用率を下げて実行することが可能になります。最適化具合に応じて、CPUの負荷を極力減らす仕組みのもの、GPUの強力な演算によって速度を引き揚げるものなど様々な最適化の方法があります。 質問のソフトはソフトウェアレンダラーです。

loiter
質問者

お礼

大変詳細なご回答を頂きありがとうございます。 当方の読解力ではいささか難しい内容でしたが、なんとか理解出来ました。 No.3の方へのお礼でも述べましたが、POV-Rayのwebヘルプファイルにも、3Dカードではレンダリングは速くはならないと書かれていました。しかし、「グラフィックスカード」なるものによってレンダリングが速くなると説明されており、その「グラフィックスカード」とは一体何なのか分からず混乱した状態に陥っております。 もしよろしければこのことについてもう少しご教授頂けないでしょうか。 大変わがままなお願いですが、当方あまり専門的な内容は困難に感じますので、簡潔なご回答を頂ければ非常に助かります。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>GPU支援に非対応というのは後者にもあてはまることなのでしょうか? はい、当てはまります。 レンダリングにGPUを使うということは、GPUにレンダリングの計算をさせるということなのでGPUに計算させるための仕組みを3Dソフトが持ってないといけません。

loiter
質問者

お礼

ご回答ありがとうございます。 あれからwebに存在するPOV-Rayの日本語版ヘルプファイルを見直してみたところ、確かに3Dカードではレンダリングは速くはならないと書いてありました。 http://www.ne.jp/asahi/nishimura/takashi/povray/3.5jp/povdoc_393.htm#target_1905 しかし、同じヘルプファイルの他の項目には、「グラフィックスカード」でレンダリングが速くなると述べられているのです。下記ページ1)-6にそのことが書かれています。 http://www.ne.jp/asahi/nishimura/takashi/povray/3.5jp/povdoc_394.htm#target_1906 最初、ここに述べられているグラフィックスカードとかCGカードと呼ばれているものが、グラフィックアクセラレーターやビデオカードと呼ばれているものなのかなと思っていたのですが、みなさんのご回答を拝読するうち、どうやらそれらは別のものを指しているらしいと判断せざるを得なくなりました。 しかし、この、レンダリングを速くするという「グラフィックスカード」「CGカード」が一体どういうものなのか、3Dカードやビデオカードと呼ばれるものとどう違うのか、さっぱり理解できず、混乱しております。 もしよろしければもうすこしご教授頂けませんでしょうか?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

どの3DCGソフトでの事なのか、ビデオカードには何を使うのか書かないことには誰も答えられないと思いますけど。 3DCGソフトがCUDAなどに対応してなければ意味ありませんし、ビデオカードによって当然ですが性能など変わってきますし。

loiter
質問者

補足

レスありがとうございます。 3DソフトはPOV-Rayです。 グラフィックアクセラレーターはNVIDIA GeForce GT 640M LE GPUというものらしいです。

関連するQ&A