見出し画像

【VRChat】2枚のGPUを使って(OBS)録画する方法!

先日に続いてソフト系のお話になっちゃうけど、せっかくだから残しておくね!OBSの録画設定も一緒に載せてあるよ!

はじめに~♪♫

結論

最初に結論だけ伝えると「2枚のGPUを使う理由は意味はあんまりない!!!」かな。。。

2枚のGPUを使う理由

2つのGPUを使う理由は主に2つあって。1つ目の理由は、VRChatと録画用のGPUを分けることでそれぞれのGPUに処理を分けようってこと!2つ目の理由は高性能なGPUを持っていないときや買うお金がないときに、安めのGPUを2つ目に買ってどうにかできないかなってこと~。




使うソフト

  • OBS

  • Windowsの設定(もしくはNVIDIAのコントロールパネル)

使用する録画ソフトは言わずとしれた録画ソフトの「OBS」だよ!無料で使えてすごいよね!!!Windowsの設定はGPUの割り当ての変更に使うよ!

設定方法

Windowsの設定

まずはOBSが2枚目のGPUで動くように設定するよ!

Windowsの設定 ➡ ディスプレイ ➡ グラフィックを開いて

”アプリのカスタムオプション”を「デスクトップのアプリ」にして検索欄にOBSを入力するよ!

たぶん初めての人は出てこないから、今度はOBSを起動した状態でWindowsのタスクマネージャーを開くよ!

タスクマネージャーのプロセスに”OBS”があると思うから
右クリック ➡ 「ファイルの場所を開く」をクリックするよ!

そしたらOBSのソフトがあるファイルが開くから、上のバーをクリックしてファイルのディレクトリ(ファイルの場所)をコピーするよ!

そのあと、Windowsの設定に戻って「参照」を押して、さっきコピーしたディレクトリをエクスプローラのアドレスバーにペーストしてね!
そしたら、”OBS.exe”がみつかるとおもうから選択して「追加」を選択するよ!

これで、OBSがWindowsのグラフィック設定に追加されているよ!

あとは、OBSを選択して、オプションから”特定のGPU”を選択して保存するよ!保存した後にOBSを再起動することを忘れないでね!!!

OBSの設定

OBSを再起動したら、OBSの設定を変更するよ!

左上のメニューから
ファイル ➡ 設定 で設定のウィンドウを出すよ!

設定ウィンドウの
出力 ➡ 録画  ➡録画設定 ➡ 映像エンコーダ を選択するよ!

NVIDIAのGPUの場合は”NVIDIA NVENC HEVC”もしくは”NVIDIA NVENC H.264”を選択するよ!4000番台の人は”AV-1"が選択できるかも?

(お勧めしないけど、理由は結果見て!)CPU内臓GPUを録画に使うときはエンコーダを内蔵GPUに利用できるのに変更する必要があるよ。

それ以外の設定は参考程度に載せておくね!

あっ、あとこの設定だと録画したファイルが.mkv形式になるから、最多重化設定をしておくといいよ!

詳細設定 ➡ 録画 ➡ 自動的にmp4に再多重化するをチェック!



結果

私のホームワールドと、奇麗だけど重いワールドで試してみたよ!

結論から言うと、GPU1枚 (RTX3060)よりGPU2枚 (RTX3060 + GTX1050Ti)の方が気持ちFPSが上がるような気がする...。けど重いワールドでは逆に1fpsくらい下がるって感じであんまり効果ないかも。

理由としては、タスクマネージャーでGPU1枚 (RTX3060)の使用率を見たときに録画中でも”Video Encode”に余力があって録画処理自体は処理性能が足りてるみたい!

あと、内臓GPUは使わない方がいいかも...。

GPU1枚 (RTX3060)

ホームワールド
通常時:57-58 fps
録画中:55-56 fps

重いワールド
通常時:16 fps
録画中:15 fps

GPU2枚 (RTX3060 + GTX1050Ti)

ホームワールド
通常時:59-60 fps
録画中:56-58 fps

重いワールド
通常時:15 fps
録画中:15 fps

GPU2枚 (RTX3060 + Intel UHD Grapthics 770)

ホームワールド
通常時:49-51 fps
録画中:40-45fps

重いワールド
通常時:14 fps
録画中:14 fps



GPU1枚と2枚の処理方法の違いは?

ちょっと専門的なお話だけど(間違ってたらごめんね〜)、2つ目GPUで録画するときは1つ目のGPUでVRChatの描画処理をして、2つ目のGPUにそれを転送してるのね(多分CPU経由?)

つまり無駄にGPU1からGPU2への転送処理が発生してるってこと💦
でもこの処理を挟む理由も一応あるから説明するね。

VRChatを含む処理全体

VRゴーグル(HMD)を使ってVRChatをプレイするときの大雑把な処理の流れを説明すると…(図を作るのが面倒だったから文章でごめんね💦)

CPU & GPU で諸々処理(VRChat自体の処理のことね)

GPUでVRゴーグルに表示する動画を生成

GPUでエンコード

VRゴーグルに転送(有線・無線)

VRゴーグルで表示(多分VRゴーグル側でデコード)

1枚のGPUを使うと・・・

ここに録画が加わると…


GPUでVRゴーグルに表示する動画を生成

①GPUでエンコード(VRゴーグル用)
②GPUでエンコード(OBSの録画用)

VRゴーグルに転送(有線・無線)

となるわけ!つまりGPUのエンコード処理(動画の生成処理)の負荷が高くなるのね。VRChatってそもそもVRで、解像度が必要だし更に解像度とかアバターのテクスチャとかの関係でGPU側の処理が重くなることがあるよ。

2枚のGPUを使うと・・・

そこで2つ目のGPUの出番だね! ②GPUでエンコード を2つ目のGPUにまかせてあげれば1つ目のGPUのエンコード処理に余裕が生まれるよねってこと!

〈1つ目のGPU〉


GPUでVRゴーグルに表示する動画を生成

①GPUでエンコード(VRゴーグル用)
②2つ目のGPU②転送➡

VRゴーグルに転送(有線・無線)

+

〈2つ目のGPU〉
➡1つ目のGPUから受け取り

2つ目のGPUでエンコード(OBSの録画用)

ってなるから、1つ目のGPUが2つの処理をしていた部分の一部を2つ目のGPUが負担してあげられるってこと~♪♫(たぶん)



やってみた感想

これは高性能なGPUを用意できる人はその1枚でVRChatも録画も処理した方がいいと思うよ!無駄な処理が必要なくなるからね!

それに処理を分けることでVRChatが軽くなることはあんまりないかも?(1つ目のGPUの処理性能が足りないだけ???)でもでも、録画しながらでもVRChatの動作が安定してる時が増えたかなって感じの印象かな?

数値的にはFPSが1~2上がったり下がったりって感じであんまり目に見える形で効果は見えなかったかも・・・💦
でも、これは録画の画質とか品質の設定で変わると思うから人によっては違ってくるかも???

ちなみに私は日常的にこの設定で使っているよ!何かの処理で1つ目のGPUの処理が高くなった時に不安定になりにくいからってい理由だけど、気持ちの問題かもね・・・?


この記事が気に入ったらサポートをしてみませんか?