web-dev-qa-db-ja.com

ゲームとデスクトップを切り替えている間、画面が1〜2秒間真っ暗になります

GTA Vをフルスクリーンで実行するように設定し、ゲームとデスクトップを切り替えると、画面が約2秒間真っ暗になり、その後回復します。しかし、GTAVを押してもフリーズしません W 画面が真っ暗なうちに、ゲーム内の車が動き出しているのに気づきました。

GTA Vがウィンドウモードで、デスクトップとゲームを切り替えると、画面が黒い画面になりませんでした。押すと AltEnter (フルスクリーンにするために)、それは黒い画面になります。何が問題なのかわかりません。

グラフィックドライバを更新しました。

私のシステム仕様:

  • Nvidia GTX 970
  • Intel i7 4790k
1
user4335407

これは仕様によるものであり、おそらくマルチスレッドと、デスクトップに切り替えたときにすべてのグラフィックデータが削除されるという事実と関係があります。

ゲームに戻ると、メインのゲームスレッドが即座に開始され、キーの読み取り、サウンドの再生、車の移動が行われます。

一方、グラフィックスレッドにはlotの作業があります。グラフィックスパイプライン全体を最初から設定する必要があります。テクスチャをロードし、シェーダープログラムをコンパイルして、GPUで開始し、さまざまなシェーダーステージをパイプライン化する必要があります。この起動には時間がかかります。最大の時間はおそらくテクスチャの読み込みです。

シングルスレッドプログラムでは、プログラムがキー押下を受け入れる前にこのセットアップをすべて実行する必要があり、移動に時間がかかりますが、マルチスレッドプログラムでは、これら2つのことが同時に発生する可能性があります。明らかに、一方のスレッドがもう一方のスレッドよりも先に準備ができている場合、この「奇妙な」種類の動作が発生します。

フルスクリーンモードとウィンドウモードの違いは、フルスクリーンモードでは、アプリケーションは、フォーカスが合っているときはフルコントロールを持っていると想定し、フォーカスがないときはリソースを「占有」したくないということです。ウィンドウモードは通常、ゲームとWindowsをすばやく切り替えて、グラフィックデータをアンロードしたくない場合に使用します。ウィンドウモードは通常、全画面よりもわずかに遅くなりますが、alt-tabを使用してプログラムをエスケープしても遅延はありません。

1
Mokubai

これはごく普通のことです。ウィンドウモードとフルスクリーンモードでの実行は、2つの非常に異なる環境です。ウィンドウモードの場合、アプリケーションは他のWindowsプログラムと同じように実行されます。フルスクリーンで実行している場合、PCは、それがすべて実行されているかのようにマシンを「専用」にします。明らかに、OSのバックグラウンドで処理が実行されていますが、ドライバーとそのような動作は異なります。 Windowsアプリケーションから画面に切り替えると、すべてを再初期化する必要があり、その結果、数秒間の黒い画面が表示されます。

0