ビデオがGPUではなくCPUによってレンダリングされるのはなぜですか?


8

さて、私はこれを知っているかもしれないのはかなり愚かな質問のような音が、私はグーグルを使って答えを見つけることができませんでしたので、ええ...
だから、私はOpenCLのとCUDAのような技術がある知っているが、なぜ、デフォルトでは、プロセッサが使用されています例えばビデオ編集ソフトウェアからビデオファイルをレンダリングするには?私には直感に反すると思われるグラフィックス処理ユニットは、プロセス、よく、グラフィックスに使用されていません。ビデオゲームをプレイするときは、GPUが画面上のイメージの生成も担当しますね。

繰り返しますが、これはあなたには愚かに聞こえるかもしれません。優しくしてください°A°

編集:Premiere ProなどのNLEソフトウェアのビデオ出力について具体的に話していました


3
ほとんどのオンラインビデオは圧縮されているため、実際の作業はファイルの解凍です。これは、CPUが処理する一般的な操作です。GPUは、ライブラリがサポートしていれば、実際にはファイルの圧縮/解凍の処理に非常に優れていますが、一般的には、一般的な計算ではなく、画面上のアイテムを描画する特定の呼び出しに利用されます。ゲームはすべて動的であるため、GPUを実際に活用します。ビデオはその場で生成されません。この座標でこのカラーピクセルが事前定義されているため、GPUは役に立ちません。
アーニー2014

ビデオファイルをレンダリングするビデオ編集ソフトウェアについて具体的に話しているのですか?そうでない場合、他の例をいくつか教えていただけますか?レンダリング中にビデオエディターが使用するGPUの量は、使用されているレンダリングソフトウェアパッケージに大きく依存します。現状では広すぎる(IMO)。
Ƭᴇcʜιᴇ007

はい、私はそれについて話していました。それが不明確な場合は申し訳ありません。
MoritzLost 2014

次に、直面している特定の問題について質問を編集し、試したソフトウェア、使用したOS、修正しようとしたことを含めてください。次に、その特定の問題について特定の質問をします。繰り返します、適切に構成されていれば、多くのビデオレンダリングパッケージ GPU 使用できるため、現状ではこれは広すぎます。その後、私たちはあなたがあなたのものではない理由を理解するのを助けることができるかもしれません。:)
Ƭᴇcʜιᴇ007

回答:


14

HDが登場する以前は、CPUはビデオのデコードを簡単に処理できました。8年ほど前にHDが普及したとき、GPUメーカーはチップに高速ビデオデコードを実装し始めました。HDビデオやその他のスローガンをサポートするものとして販売されているグラフィックスカードを簡単に見つけることができます。今日、どのGPUも、高速ビデオをサポートしており、Intel HD Graphicsやその前身であるIntel GMAなどの統合GPUもサポートしています。その追加がないと、CPUは許容できるフレームレートで1080pビデオを消化するのに苦労します。言うまでもありませんが、エネルギー消費が増加します。あなたはすでに加速ビデオを毎日使用しています。

GPUの計算能力がますます一般的になると、ビデオ処理の高速化にも広く使用されます。この傾向は、加速デコードが導入されたのと同じ頃に始まりました。Badaboomのようなプログラムは、GPUがビデオを(再)エンコードする方がCPUよりもはるかに優れていることが判明し、人気が高まり始めました。ただし、GPUには一般的な計算機能がなかったため、これを行うことはできませんでした。

しかし、GPUはすでに中世以来、画像のスケーリング、回転、変換を行うことができたので、なぜこれらの機能をビデオ処理に使用できなかったのでしょうか。まあ、これらの機能はそのような方法で使用するために実装されていなかったので、さまざまな理由で最適ではありませんでした。

ゲームをプログラムするときは、最初にすべてのグラフィックスやエフェクトなどをGPUにアップロードし、次にポリゴンをレンダリングして適切なオブジェクトをそれらにマッピングします。必要になるたびにテクスチャを送信する必要はありません。テクスチャをロードして再利用できます。ビデオ処理に関しては、フレームを常にGPUにフィードし、処理してフェッチし、CPUで再エンコードする必要があります(ここでは、計算前のGPU時間について話しています)。これはGPUが機能するはずの方法ではなかったため、パフォーマンスはあまりよくありませんでした。

もう1つは、GPUは画像変換に関して品質志向ではないということです。40+ fpsでゲームをプレイしているときは、ピクセルのわずかな表現に気付くことはありません。たとえそうであっても、ゲームのグラフィックスは人々が気にするほど詳細ではありませんでした。レンダリングを高速化するために使用されるさまざまなハックやトリックがあり、品質にわずかに影響する可能性があります。動画もかなり高いフレームレートで再生されるため、再生時に動的にスケーリングすることは許容されますが、再エンコードまたはレンダリングは、ピクセルパーフェクトまたは少なくとも適度なコストで可能な限り近い結果を生成する必要があります。GPUに直接実装された適切な機能がなければ、それを実現することはできません。

現在、GPUを使用して動画を処理することは、テクノロジーが必要であるため、非常に一般的です。なぜそれがデフォルトの選択ではないのかは、むしろ私たちではなくプログラムの発行者への質問です-それは彼らの選択です。多分彼らは彼らのクライアントがCPUでビデオを処理するためのハードウェア指向であると信じているので、GPUに切り替えるとパフォーマンスに悪影響を及ぼしますが、それは私の推測です。もう1つの可能性は、GPUレンダリングをまだデフォルトとして設定するほど安定していない実験的な機能として扱っていることです。GPUレンダリングのバグが原因で何かが台無しになっていることに気付くためだけに、ビデオのレンダリングに何時間も費やしたくない場合。とにかくそれを使用することに決めた場合、ソフトウェア発行元を責めることはできません-それはあなたの決断でした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.