実はハードウェアエンコーダをキッチリ使うWindows 10のGameDVR
先日、著者がずっと遊んでいるMMORPGのゲーム画面をWindows 10のGameDVRで動画キャプチャしているときに気づいたのですが、動画キャプチャしながらゲームを動かしているのにタスクマネージャで見たときのCPUの負荷が全く増えていないのです。
ちょっと不思議に思って、GPUの負荷も確認できるようになっている今のWindows 10のタスクマネージャを使ってGPU側の動作状況をチェックしてみました。
するとちょっと古めのビデオカードを使っているPCにもかかわらず、しっかりとビデオカード側の動画のエンコードエンジンが活用されていました。
思わずディスプレイの前で「おおっ!」と声が出ちゃいました。何気にしっかり作り込んであります、GameDVR。
この記事ではこの辺りの状況と、改めてもう一度GameDVRの使い方などに関してまとめます。
スポンサードリンク
動画のハードウェアエンコーダが使えるときの状態
まずは動画のハードウェアエンコーダがWindows 10から利用できるようになっているときの負荷の状況を見てみましょう。
RADEON HD7970を載せたビデオカードを積んだデスクトップPCで、DirectXを使う軽いMMORPGを動かしているケースです。
タスクマネージャの詳細からGPUの負荷グラフを表示すると、GameDVRで動画キャプチャしたときにはこんな動きになります。
「Video Encode」のグラフが振れているのが分かると思いますが、この部分に負荷が出ているのがゲーム画面の動画キャプチャの際にビデオカード側の動画のハードウェアエンコーダが動いている証拠です。
最後にVideo Encodeのグラフが振り切っているところが、ゲーム画面の録画を止めたところになります。
動画のハードウェアエンコーダが使えない場合には、この部分の負荷がCPU側に回ることになります。
もう一つ、第4世代のCoreプロセッサの統合GPUを使ってゲームを動かしているPCでのGameDVRでの録画シーンです。
使われているGPUはインテルのHDグラフィクスの系統で、動画のハードウェアエンコーダとして「QSV」という機能が内蔵されています。
ですが、タスクマネージャのGPUの負荷のグラフにはVideo Encodeの項目がありません。
その代わりゲーム画面の録画中には、「3D」の項目の負荷グラフがより高く振れています。どうもQSVの負荷の状況は3Dのグラフの中に合わせて表示されるようです。
実際、録画中にもCPU側の負荷は上がっていませんでした。
もしかしたら第4世代のCoreプロセッサでは、QSVの実処理を統合GPUの演算ユニットを使って行なっているのかもしれません。
動画キャプチャでハードウェアエンコーダが使えるとうれしい訳
動画というのは圧縮をかけないと膨大なデータ量があります。
フルHD解像度の画面を毎秒30コマのレートでキャプチャしてみることを考えてみましょう。その際のデータ量は以下のようになります。
1,920 x 1,080 x 3 x 30 = 186,624,000バイト ≒ 177MB
毎秒これだけのデータ量が発生します。
この数字は高性能のハードディスクで書き込みが追いつくか追いつかないか、ギリギリのレベルです。一般的なOSが介在するパソコンだと、まず間違いなくデータの取りこぼしが起きますね。
また、1秒これだけのデータ量ですから1時間分の動画を作る、となるととんでもない総データ量になってしまって、ネットで送信するどころかハードディスクに入れて持ち運ぶことすら困難な量になります。
Blu-rayなどの光ディスクになんてとてもとても収まりません。
ですので一般的に流通している動画は非常に高度な仕組みを使って高い圧縮率でサイズをコンパクトにしています。
デジタルテレビ放送の地上デジタルでは約20Mbps(2.5MB/秒)、やや画質の高いBSデジタルでも最大25Mbps(3MB/秒)になるように圧縮を行なっています。
この圧縮は一般的な動画の特性を利用して画質を保ちつつ高い圧縮率を実現するために非常に高度な処理を行なっていて、圧縮の処理がとても重たいものになります。
既存の多くの動画キャプチャソフトではこの圧縮処理をCPUで行なっているため、ゲームを動かしつつ動画キャプチャを行なうには、ゲームを満足に動かせる性能に加えキャプチャソフトが十分に動けるだけの余力がパソコンに必要でした。
GameDVRのようにビデオカード側の動画のエンコード用ハードウェアを使えると、そのCPUの余分な負荷を丸ごと省くことが出来るようになります。
同様のことはゲーム実況の生放送などにも言えていて、従来の仕組みだとゲームを普通に動かせるスペックよりもかなり上乗せしたスペックのパソコンを準備する必要がありました。
GameDVR経由の実況ならば、パソコンのスペックを少し控えめに出来る可能性が高くなります。
ただ、現在GameDVRがサポートしている実況用のサービスはこのジャンルでは新しいBeamと言われるサービスだけで、その他のスタンダードなサービスには対応していません。
GameDVRを使って実況を行なう際には、この辺りが問題点にはなってきそうです。
GameDVRの起動方法
GameDVRはWindowsキー+Gで操作用のコンソールを開くことが出来ます。
また、Windowsキー+Altキー+Rキーで直接録画のスタートストップが行えます。
初期設定のままだと、動画キャプチャは毎秒8Mbps程度のデータ量で行なわれ、そこそこの画質は確保されています。