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
- 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 |