Pergunta

Esta é a minha pergunta ... existe uma maneira de verificar quando o aplicativo foi fullcreen no DXGI (DX10/11). Para entrar em tela cheia, quero dizer que o sistema concluiu a alteração do modo. Porque eu preciso dele para que meu aplicativo evite o impasse e ajuste o tempo. (Eu tenho um mecanismo multithread e o presente não está no fio da bomba de mensagens, causando o impasse na mudança de modo aleatoriamente)) Na verdade, eu o faço esperar 1 segundo continuando a processar mensagens no segmento da bomba de mensagens e funcionar, mas quero algo mais Determinista que me diz "Ei, a alteração do modo está completa, agora você está no modo de tela cheia". : D

Qualquer ideia?

Foi útil?

Solução

Existe algum motivo para você não executar os threads da bomba de renderização e mensagem como o mesmo thread?

De acordo com os documentos, não há nada que indique a alteração completa.

Estranhamente, porém, o DXGI depende de obter respostas de volta das chamadas internas do SendMessage (que ocorrem através da bomba de mensagens em um ambiente multithread). Portanto, não vejo como atrasar sua bomba de mensagens corrige os problemas. Tudo o que fará é fazer o dxgi esperar um segundo extra antes de continuar fazendo suas coisas. Um bloqueio morto geralmente implica que você está fazendo algo que faz com que a bomba de mensagens bloqueie a espera da renderização que faça algo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top