Método IDXGIOutputDuplication::ReleaseFrame (dxgi1_2.h)
Indica que la aplicación finalizó el procesamiento del marco.
Sintaxis
HRESULT ReleaseFrame();
Valor devuelto
ReleaseFrame devuelve:
- S_OK si se completó correctamente.
- DXGI_ERROR_INVALID_CALL si la aplicación ya ha publicado el marco.
- DXGI_ERROR_ACCESS_LOST si la interfaz de duplicación de escritorio no es válida. Normalmente, la interfaz de duplicación de escritorio no es válida cuando se muestra un tipo diferente de imagen en el escritorio. Algunos ejemplos de esta situación son:
- Conmutador de escritorio
- Cambio de modo
- Cambiar de DWM activado, DWM desactivado u otra aplicación de pantalla completa
- Posiblemente otros códigos de error que se describen en el tema DXGI_ERROR .
Comentarios
La aplicación debe liberar el marco antes de adquirir el siguiente fotograma. Una vez liberado el marco, la superficie que contiene el mapa de bits de escritorio deja de ser válida; no podrá usar la superficie en una operación de gráficos directX.
Por motivos de rendimiento, se recomienda liberar el fotograma justo antes de llamar al método IDXGIOutputDuplication::AcquireNextFrame para adquirir el siguiente fotograma. Cuando el cliente no posee el marco, el sistema operativo copia todas las actualizaciones de escritorio en la superficie. Esto puede dar lugar a ciclos de GPU desperdiciados si el sistema operativo actualiza la misma región para cada fotograma que se produce. Cuando el cliente adquiere el marco, el cliente solo es consciente de la actualización final de esta región; por lo tanto, se desperdician las actualizaciones superpuestas durante los fotogramas anteriores. Cuando el cliente adquiere un marco, el cliente posee la superficie; por lo tanto, el sistema operativo solo puede realizar un seguimiento de las regiones actualizadas y no puede copiar las actualizaciones de escritorio en la superficie. Debido a este comportamiento, se recomienda minimizar el tiempo entre la llamada para liberar el marco actual y la llamada para adquirir el siguiente fotograma.
Requisitos
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | dxgi1_2.h |
Library | Dxgi.lib |