
É possível salvar o estado atual do jogo usando a hibernação sem travar após inicializar a partir do arquivo de hibernação? Ou depende do jogo e/ou DRM? E quanto aos emuladores/máquinas virtuais? Eu tentei comSimulador de caminhão europeu 2agora mesmo e travou depois de maximizá-lo.
Responder1
Hibernação (S4)remove a energia, portanto a GPU e sua RAM também são desligadas. Não há menção de RAM de vídeo nesta página.
Estado de hibernação (S4)
O Windows usa a hibernação para fornecer uma experiência de inicialização rápida. Quando disponível, também é usado em dispositivos móveis para prolongar a vida útil da bateria de um sistema, fornecendo um mecanismo para salvar todo o estado do usuário antes de desligar o sistema. Em uma transição de hibernação, todo o conteúdo da memória é gravado em um arquivo na unidade principal do sistema, o arquivo de hibernação. Isso preserva o estado do sistema operacional, dos aplicativos e dos dispositivos. No caso em que o espaço de memória combinado consome toda a memória física, o arquivo de hibernação deve ser grande o suficiente para garantir que haverá espaço para salvar todo o conteúdo da memória física. Como os dados são gravados em armazenamento não volátil, a DRAM não precisa manter a atualização automática e pode ser desligada, o que significa que o consumo de energia da hibernação é muito baixo, quase o mesmo que o desligamento.
Entrando em hibernação
Quando uma solicitação de hibernação é feita, as seguintes etapas ocorrem quando o sistema entra em hibernação:
- Aplicativos e serviços são notificados
- Motoristas são notificados
- O estado do usuário e do sistema é salvo no disco em um formato compactado
- Firmware é notificado
Retomando da hibernação
Quando um sistema é ligado, as etapas a seguir ocorrem quando o sistema sai da hibernação.
- POSTAGEM do sistema
- A memória do sistema é descompactada e restaurada do arquivo de hibernação
- Inicialização do dispositivo
- Os drivers são restaurados ao estado em que estavam antes da hibernação
- Os serviços são restaurados ao estado em que estavam antes da hibernação
- Sistema fica disponível para login
Dado que (AFAIK) o Windows não despeja/restaura a RAM de vídeo, eu não ficaria surpreso se os jogos travassem quando o sistema fosse reiniciado.
Se estiver correto que o Windows não lida com RAM de vídeo, então a GPU provavelmente será reinicializada pelos drivers da mesma forma que uma nova inicialização - ou seja: todas as texturas e código do mecanismo de jogo em execução na GPU aparecerão "de repente"não estar presente (desde antes da hibernação até depois da retomada).
Isso deixará o mecanismo de jogo/aplicativo em execução na CPU (queérestaurado) conversando com "nada" - ou pelo menos uma coisa que não existe mais.
O aplicativo do jogo teria que lidar com isso com muito cuidado e não há uma boa razão para isso.
Para agravar ainda mais a questão, épossívelque o dispositivo PCIe irá enumerar e obter um espaço de endereço diferente alocado, o que significa que A) a GPU não está fazendo o que pensávamos que estava fazendo e B) a GPU não está mais onde pensávamos que estava, nos dando umerro de ônibusou pior (ou seja: falando com algo que não é uma GPU).
Istopoderseria possível para o driver de vídeo lidar com isso... mas não acho que isso aconteça.
Veja esta pergunta para mais discussão: "Os VRAM/registros são salvos durante a hibernação?"