
休止ファイルから起動した後、クラッシュせずに休止状態を使用してゲームの現在の状態を保存することは可能ですか?それともゲームやDRMに依存しますか?また、エミュレーター/仮想マシンはどうですか?私は試しましたユーロトラックシミュレーター2たった今、最大化した後にクラッシュしました。
答え1
冬眠(S4)電源がオフになり、GPU とその RAM もオフになります。このページにはビデオ RAM についての記載はありません。
休止状態(S4)
Windows は、高速起動エクスペリエンスを提供するために休止状態を使用します。使用可能な場合は、システムをシャットダウンする前にユーザーの状態をすべて保存するメカニズムを提供することで、モバイル デバイスでシステムの使用可能なバッテリ寿命を延ばすためにも使用されます。休止状態遷移では、メモリのすべての内容がプライマリ システム ドライブ上のファイル (休止状態ファイル) に書き込まれます。これにより、オペレーティング システム、アプリケーション、およびデバイスの状態が保持されます。結合されたメモリ フットプリントがすべての物理メモリを消費する場合、休止状態ファイルは、物理メモリのすべての内容を保存するスペースを確保できるほど十分に大きくなければなりません。データは不揮発性ストレージに書き込まれるため、DRAM は自己更新を維持する必要がなく、電源をオフにすることができます。つまり、休止状態の電力消費は非常に低く、電源をオフにした場合とほぼ同じです。
冬眠に入る
休止状態要求が行われると、システムが休止状態に入るときに次の手順が実行されます。
- アプリとサービスに通知されます
- ドライバーに通知される
- ユーザーとシステムの状態は圧縮形式でディスクに保存されます
- ファームウェアが通知される
冬眠からの再開
システムの電源がオンになると、システムが休止状態から再開するときに次の手順が実行されます。
- システムPOST
- システムメモリは解凍され、休止状態ファイルから復元されます
- デバイスの初期化
- ドライバーは休止前の状態に復元されます
- サービスは休止前の状態に復元されます
- システムがログイン可能になる
私の知る限り、Windows はビデオ RAM をダンプ/復元しないので、システムの再開時にゲームがクラッシュしてもまったく驚きません。
Windows がビデオ RAM を扱わないというのが正しいとすれば、GPU は新規ブートと同じようにドライバーによって再初期化される可能性が高いでしょう。つまり、GPU 上で実行されているすべてのテクスチャとゲーム エンジン コードは「突然" は存在しません (休止状態前から再開後まで)。
これにより、ゲームエンジン/アプリケーションはCPU上で実行されます(は復元された)と話している」何もない「 - あるいは少なくとも、もうそこには存在しないもの。
ゲーム アプリケーションはこれを非常に慎重に処理する必要がありますが、そうする正当な理由はありません。
さらに問題をさらに複雑にしているのは、可能PCIeデバイスが列挙して異なるアドレス空間が割り当てられるということは、A) GPUが想定していた動作をしていないこと、B) GPUが想定していた場所にないことを意味し、バスエラーまたは、さらに悪い状況 (つまり、GPU 以外のものと通信する) になります。
それかもしれないビデオ ドライバーがこれに対処できる可能性があります...ただし、対処できないと思います。
詳しい議論についてはこの質問を参照してください: "休止状態のときに VRAM/レジスタは保存されますか?「