ゲームの配信や録画を1台のPCで行う時に、推奨される方法としてグラフィックボード(GPU)の二枚挿しがありますが、良くある症状として配信や録画がレンダリングラグによって「fpsが上がらずカクカクになってしまう」というものがあります。
特定の条件下ではカクカクにならない場合もあるので、昨日はできてたのに今日はできないってことが起きて混乱しました。
とりあえず解決したので、忘備録を残しておきます。
原因:Windowsの仕様らしい。
NVIDIAの「NVIDIA NVENC OBS Guide」に書かれていますが、GPU使用率が95%を超えるとそのソフトウェアを優先してしまい、ほかにリソースが上手く割かれなくなるみたいですね。
この現象が起こるのは、ゲームがバックグラウンドに移った時でも”GPU使用率が下がらないタイプのゲーム”が高負荷な場合なので、OBSがフォアグラウンドで「配信開始」や「録画開始」を押すタイミングでゲームのGPU使用率が下がるタイプのゲームではあまり起こらない現象です。
記事の中には、「Windows Game Mode」と「Hardware Accelerated GPU Scheduling」の2つをオンにするとも書かれていますが、オンオフ試しましたが、これは別にあまり関係ない気もします。
OBSを「管理者権限で実行する」と解決する
GPU2枚挿しの場合、上でも書いた「Hardware Accelerated GPU Scheduling」をオンにしても機能しないようなので、最終手段の「管理者権限で実行」する必要があるみたいです。
管理者権限で実行するデメリットは、そのソフトウェアに悪意やバグがあった場合にリスクとなることなので、必要な時だけ管理者として実行する方法と、常に管理者として実行する方法のふたつを紹介しておきます。
必要な時だけ管理者として実行する方法
アイコンを右クリックして表示されるリストから「管理者として実行」を選択するだけです。
起動時にワンアクション必要になりますが、バックグラウンドの時にGPU使用率が下がらない&GPU使用率95%のゲームの時だけ「管理者として実行」する事で、無用なリスクを避けられます。
常に管理者として実行する方法
あまりお勧めはしませんが、毎回手動で「管理者として実行」を選択したくない場合は、常に「管理者として実行」することもできます。
OBSの実行ファイルを右クリック->プロパティ->互換性->「管理者としてこのプログラムを実行する」にチェック
これで常に「管理者として実行」されます。
実行ファイルの場所が分からない場合は、ショートカットを右クリックして「ファイルの場所を開く」を選択し、実行ファイルにたどり着くまで繰り返すがけです。