Duplicação da área de trabalho
Windows 8 apresenta uma nova API baseada em DXGI (Microsoft DirectX Graphics Infrastructure) para facilitar o suporte a isvs (fornecedores independentes de software) para dar suporte à colaboração de área de trabalho e a cenários de acesso à área de trabalho remota.
Esses aplicativos são amplamente usados em cenários empresariais e educacionais. Esses aplicativos compartilham um requisito comum: acesso ao conteúdo de uma área de trabalho junto com a capacidade de transportar o conteúdo para um local remoto. As APIs de duplicação do Windows 8 Desktop fornecem acesso ao conteúdo da área de trabalho.
Atualmente, nenhuma API do Windows permite que um aplicativo implemente perfeitamente esse cenário. Portanto, os aplicativos usam drivers espelho, eliminação de tela e outros métodos proprietários para acessar o conteúdo da área de trabalho. No entanto, esses métodos têm o seguinte conjunto de limitações:
- Pode ser desafiador otimizar o desempenho.
- Essas soluções podem não dar suporte a APIs de renderização gráfica mais recentes porque as APIs são lançadas após o lançamento do produto.
- O Windows nem sempre fornece metadados avançados para ajudar na otimização.
- Nem todas as soluções são compatíveis com a composição da área de trabalho no Windows Vista e versões posteriores do Windows.
Windows 8 apresenta uma API baseada em DXGI chamada API de Duplicação da Área de Trabalho. Essa API fornece acesso ao conteúdo da área de trabalho usando bitmaps e metadados associados para otimizações. Essa API funciona com o tema Aero habilitado e não depende da API gráfica que os aplicativos usam. Se um usuário puder exibir o aplicativo no console local, o conteúdo também poderá ser exibido remotamente. Isso significa que até mesmo aplicativos DirectX em tela inteira podem ser duplicados. Observe que a API fornece proteção contra o acesso ao conteúdo de vídeo protegido.
A API permite que um aplicativo solicite que o Windows forneça acesso ao conteúdo da área de trabalho ao longo dos limites do monitor. O aplicativo pode duplicar uma ou mais exibições ativas. Quando um aplicativo solicita duplicação, ocorre o seguinte:
- O Windows renderiza a área de trabalho e fornece uma cópia para o aplicativo.
- Cada quadro renderizado é colocado na memória da GPU.
- Cada quadro renderizado vem com os seguintes metadados:
- Região suja
- Movimentos de tela para tela
- Informações do cursor do mouse
- O aplicativo recebe acesso a quadros e metadados.
- O aplicativo é responsável por processar cada quadro:
- O aplicativo pode optar por otimizar com base em sujo região.
- O aplicativo pode optar por usar a aceleração de hardware para processar a movimentação e os dados do mouse.
- O aplicativo pode optar por usar a aceleração de hardware para compactação antes de fazer streaming.
Para obter documentação detalhada e exemplos, consulte API de Duplicação da Área de Trabalho.