Condividi tramite


Metodo ID3D11Device1::CreateDeferredContext1 (d3d11_1.h)

Crea un contesto posticipato, che può registrare elenchi di comandi.

Sintassi

HRESULT CreateDeferredContext1(
                  UINT                 ContextFlags,
  [out, optional] ID3D11DeviceContext1 **ppDeferredContext
);

Parametri

ContextFlags

Riservato per utilizzi futuri. Passare 0.

[out, optional] ppDeferredContext

Al termine del metodo, viene inizializzato il puntatore passato a un puntatore dell'interfaccia ID3D11DeviceContext1 .

Valore restituito

Restituisce S_OK se ha esito positivo; in caso contrario, restituisce uno dei seguenti elementi:

  • Restituisce DXGI_ERROR_DEVICE_REMOVED se la scheda grafica è stata rimossa fisicamente dal computer o un aggiornamento del driver per la scheda grafica. Se si verifica questo errore, è necessario eliminare e ricreare il dispositivo.
  • Restituisce DXGI_ERROR_INVALID_CALL se il metodo CreateDeferredContext1 non può essere chiamato dal contesto corrente. Ad esempio, se il dispositivo è stato creato con il valore D3D11_CREATE_DEVICE_SINGLETHREADED , CreateDeferredContext1 restituisceDXGI_ERROR_INVALID_CALL.
  • Restituisce E_INVALIDARG se il parametro ContextFlags non è valido.
  • Restituisce E_OUTOFMEMORY se l'applicazione ha esaurito la memoria disponibile.

Commenti

Un contesto posticipato è un contesto thread-safe che è possibile usare per registrare i comandi grafici in un thread diverso dal thread di rendering principale. Usando un contesto posticipato, è possibile registrare comandi grafici in un elenco di comandi incapsulato dall'interfaccia ID3D11CommandList . Dopo aver registrato tutti gli elementi della scena, è quindi possibile inviarli al thread di rendering principale per il rendering finale. In questo modo, è possibile eseguire attività di rendering simultaneamente in più thread e migliorare potenzialmente le prestazioni negli scenari cpu multi-core.

È possibile creare più contesti posticipati.

Nota Se si usa il valore D3D11_CREATE_DEVICE_SINGLETHREADED per creare il dispositivo rappresentato da ID3D11Device1, il metodo CreateDeferredContext1 avrà esito negativo e non sarà possibile creare un contesto posticipato.
 
Per altre informazioni sui contesti posticipati, vedere Rendering immediato e posticipato.

Windows Phone 8: questa API è supportata.

Requisiti

   
Client minimo supportato Windows 8 e Platform Update per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d3d11_1.h
Libreria D3D11.lib

Vedi anche

ID3D11Device1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3

ID3D11Device::CreateDeferredContext