Compartilhar via


Método IDXGIOutputDuplication::ReleaseFrame (dxgi1_2.h)

Indica que o aplicativo terminou de processar o quadro.

Sintaxe

HRESULT ReleaseFrame();

Valor retornado

ReleaseFrame retorna:

  • S_OK se tiver sido concluído com êxito.
  • DXGI_ERROR_INVALID_CALL se o aplicativo já liberou o quadro.
  • DXGI_ERROR_ACCESS_LOST se a interface de duplicação da área de trabalho for inválida. A interface de duplicação da área de trabalho normalmente se torna inválida quando um tipo diferente de imagem é exibido na área de trabalho. Exemplos dessa situação são:
    • Comutador da área de trabalho
    • Alteração de modo
    • Alternar do DWM ativado, DWM desativado ou outro aplicativo de tela inteira
    Nessa situação, o aplicativo deve liberar a interface IDXGIOutputDuplication e criar uma nova IDXGIOutputDuplication para o novo conteúdo.
  • Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .

Comentários

O aplicativo deve liberar o quadro antes de adquirir o próximo quadro. Depois que o quadro é liberado, a superfície que contém o bitmap da área de trabalho se torna inválida; você não poderá usar a superfície em uma operação de elementos gráficos DirectX.

Por motivos de desempenho, recomendamos que você libere o quadro pouco antes de chamar o método IDXGIOutputDuplication::AcquireNextFrame para adquirir o próximo quadro. Quando o cliente não possui o quadro, o sistema operacional copia todas as atualizações da área de trabalho para a superfície. Isso poderá resultar em ciclos de GPU desperdiçados se o sistema operacional atualizar a mesma região para cada quadro que ocorre. Quando o cliente adquire o quadro, o cliente está ciente apenas da atualização final para essa região; portanto, todas as atualizações sobrepostas durante os quadros anteriores são desperdiçadas. Quando o cliente adquire um quadro, o cliente possui a superfície; Portanto, o sistema operacional pode acompanhar apenas as regiões atualizadas e não pode copiar atualizações da área de trabalho para a superfície. Devido a esse comportamento, recomendamos que você minimize o tempo entre a chamada para liberar o quadro atual e a chamada para adquirir o próximo quadro.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dxgi1_2.h
Biblioteca Dxgi.lib

Confira também

IDXGIOutputDuplication