Compartilhar via


Operações de Multiple-Monitor (Direct3D 9)

Quando um dispositivo é redefinido com êxito (IDirect3DDevice9::Reset) ou criado (IDirect3D9::CreateDevice) em operações de tela inteira, o objeto Direct3D que criou o dispositivo é marcado como proprietário de todos os adaptadores nesse sistema. Esse estado é conhecido como modo exclusivo e o objeto Direct3D possui o modo exclusivo. Modo exclusivo significa que os dispositivos criados por qualquer outro objeto Direct3D não podem assumir operações de tela inteira nem alocar memória de vídeo. Além disso, quando um objeto Direct3D assume o modo exclusivo, todos os dispositivos diferentes daquele que ficou em tela inteira são colocados em estado perdido. Para obter detalhes, consulte Dispositivos perdidos (Direct3D 9).

Junto com o modo exclusivo, o objeto Direct3D é informado da janela de foco que o dispositivo usará. O modo exclusivo é liberado quando o dispositivo final de tela inteira pertencente a esse objeto Direct3D é redefinido para o modo com janelas ou destruído.

Os dispositivos podem ser divididos em duas categorias quando um objeto Direct3D possui o modo exclusivo. A primeira categoria de dispositivos tem as seguintes características.

  • Eles são criados pelo mesmo objeto Direct3D que criou o dispositivo que é de tela inteira.
  • Eles têm a mesma janela de foco que o dispositivo que é de tela inteira.
  • Eles representam um adaptador diferente de qualquer dispositivo de tela inteira.

Os dispositivos nessa categoria não têm restrições relacionadas à capacidade de redefinição ou criação e não são colocados em estado perdido. Os dispositivos nessa categoria podem até mesmo ser colocados no modo de tela inteira.

Dispositivos que não se enquadram na primeira categoria - dispositivos criados por outro objeto Direct3D, criados com uma janela de foco diferente e criados para um adaptador com um dispositivo que já está em tela inteira - não podem ser redefinidos e permanecem em estado perdido até que o modo exclusivo seja perdido. Como resultado, um aplicativo de vários monitores pode colocar vários dispositivos no modo de tela inteira, mas somente se todos esses dispositivos forem para adaptadores diferentes, foram criados pelo mesmo objeto Direct3D e compartilham a mesma janela de foco.

Apresentando uma cena