Partilhar via


Operações 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 em tela cheia 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 cheia 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 de tela cheia final pertencente a esse objeto Direct3D é redefinido para o modo de janela 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 em tela cheia.
  • Eles têm a mesma janela de foco que o dispositivo que é de tela cheia.
  • Eles representam um adaptador diferente de qualquer dispositivo de tela cheia.

Os dispositivos nesta categoria não têm restrições relativas à sua capacidade de serem repostos ou criados, e não são colocados em estado perdido. Os dispositivos desta categoria podem até ser colocados no modo de ecrã inteiro.

Os 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 cheia - 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 cheia, mas somente se todos esses dispositivos forem para adaptadores diferentes, tiverem sido criados pelo mesmo objeto Direct3D e compartilharem a mesma janela de foco.

Apresentação de uma cena