バックグラウンドでビデオを再生するとFPSが低下する

バックグラウンドでビデオを再生するとFPSが低下する

動画がバックグラウンドで再生されているときに、要求の厳しいゲームで FPS が低下する理由と、その解決方法を理解しようとしています。私の特定のセットアップ (下部の仕様を参照) は、拡張デスクトップ モードのモニター 2 台、プライマリ モニターは DisplayPort 経由で AMD R9 390 ビデオ カードに接続され、もう 1 台は DVI 経由でオンダイ Intel HD 4600 グラフィックス出力または R9 390 の DVI 出力に接続されています。

私は Witcher 3 ゲームの問題をデモンストレーションしますが、私が試した少なくとも 1 つの他のゲーム、World of Tanks でも同じ問題が発生します (ゲーム中に YouTube から音楽をかけることがあるため、実際に問題となるのはここです)。以下のすべての実験では、メイン モニターで Witcher 3 をウィンドウ フルスクリーン モードで実行し、FRAPS を使用して FPS を測定しています。安定した FPS を保証するために、ゲームを一時停止します (ESC キーを押して)。また、Witcher 3 プロセスのアフィニティを最初の 3 つのコアに設定し、他のアプリケーションのアフィニティを 4 番目のコアに設定しました。テスト全体を通じて、CPU 負荷はコア 1 ~ 3 で 45 ~ 50% で安定していました。

ゲームが実行されていないときのベースライン テスト: CPU 負荷は、コア 1 ~ 3 で約 0%、コア 4 で約 5% です。ゲームは実行されているが、ビデオは並行して再生されていないときのベースライン テスト: 安定した 58 FPS、CPU 負荷: コア 4 で約 10%。

最初の一連のテスト: セカンダリ モニターを R9 390 に接続します。

  1. セカンダリ モニター (Chrome または Firefox) で実行されている 1080p YouTube HTML5 ビデオ: ~48 FPS、CPU 負荷: コア 4 で ~50%。
  2. 同じYouTubeビデオをゲーム上のメインモニターで再生すると、(1)と同じ結果になります。
  3. SMPlayer でセカンダリ モニターで 1024x426 AVC ビデオを再生: ~48 FPS、CPU 負荷: コア 4 で ~25%。

2 回目のテスト: セカンダリ モニターは HD 4600 に接続されています。

  1. セカンダリ モニター (Chrome または Firefox) で実行されている 1080p YouTube HTML5 ビデオ: ~44 FPS、CPU 負荷: コア 4 で ~50%。
  2. 同じ YouTube ビデオをゲーム上のプライマリ モニターで実行すると、約 48 FPS、CPU 負荷: コア 4 で約 50% になります。
  3. SMPlayer でセカンダリ モニターで 1024x426 AVC ビデオを再生: ~50 FPS、CPU 負荷: コア 4 で ~25%。

ここで気づいたのは、ゲーム ウィンドウにフォーカスがあるかどうかによってパフォーマンスが変わるということです。上記のベンチマークは、ゲーム ウィンドウにフォーカスがある場合のものです。ゲーム ウィンドウにフォーカスがある場合、ビデオの再生に明らかな途切れが見られます (YouTube と SMPlayer の両方)。別のウィンドウにフォーカスがある場合、ビデオの再生はスムーズですが、ゲームの FPS はさらに低下します。

私の仕様: Windows 10 x64、Intel i5-4690K、Gigabyte Z97-D3H、8Gb RAM、R9 390 ビデオ カード。プライマリ モニター (R9 390 に接続) は 1920x1200 で動作し、セカンダリ モニターは 1600x1200 で動作します。

編集: 音楽だけのYouTubeを撮りましたビデオ240p から 1080p までさまざまな解像度でプレイしてみました。解像度を上げると、FPS が 58 から 48 FPS に徐々に低下しました。

関連情報