Condividi tramite


Metodo IDXGIOutputDuplica::ReleaseFrame (dxgi1_2.h)

Indica che l'applicazione ha completato l'elaborazione del frame.

Sintassi

HRESULT ReleaseFrame();

Valore restituito

ReleaseFrame restituisce:

  • S_OK se è stato completato correttamente.
  • DXGI_ERROR_INVALID_CALL se l'applicazione ha già rilasciato il frame.
  • DXGI_ERROR_ACCESS_LOST se l'interfaccia di duplicazione desktop non è valida. L'interfaccia di duplicazione desktop diventa in genere non valida quando viene visualizzato un tipo diverso di immagine sul desktop. Esempi di questa situazione sono:
    • Commutatore desktop
    • Modifica della modalità
    • Passare da DWM su, DWM disattivato o da un'altra applicazione a schermo intero
    In questo caso, l'applicazione deve rilasciare l'interfaccia IDXGIOutputDuplicazione e creare un nuovo IDXGIOutputDuplicazione per il nuovo contenuto.
  • Eventualmente altri codici di errore descritti nell'argomento DXGI_ERROR .

Commenti

L'applicazione deve rilasciare il frame prima di acquisire il frame successivo. Dopo il rilascio della cornice, la superficie che contiene la bitmap desktop diventa non valida; non sarà possibile usare la superficie in un'operazione grafica DirectX.

Per motivi di prestazioni, è consigliabile rilasciare il frame subito prima di chiamare il metodo IDXGIOutputDuplica::AcquireNextFrame per acquisire il frame successivo. Quando il client non possiede il frame, il sistema operativo copia tutti gli aggiornamenti desktop nella superficie. Ciò può comportare cicli GPU sprecate se il sistema operativo aggiorna la stessa area per ogni frame che si verifica. Quando il client acquisisce il frame, il client è a conoscenza solo dell'aggiornamento finale in questa area; pertanto, tutti gli aggiornamenti sovrapposti durante i fotogrammi precedenti vengono sprecate. Quando il client acquisisce un frame, il client possiede la superficie; pertanto, il sistema operativo può tenere traccia solo delle aree aggiornate e non può copiare gli aggiornamenti desktop nella superficie. A causa di questo comportamento, è consigliabile ridurre al minimo il tempo tra la chiamata per rilasciare il frame corrente e la chiamata per acquisire il frame successivo.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxgi1_2.h
Libreria Dxgi.lib

Vedi anche

IDXGIOutputDuplicazione