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レンダリングのバグが原因で何かが台無しになっていることに気付くためだけに、ビデオのレンダリングに何時間も費やしたくない場合。とにかくそれを使用することに決めた場合、ソフトウェア発行元を責めることはできません-それはあなたの決断でした。