Compartir a través de


Método ID3D11Device1::CreateDeferredContext1 (d3d11_1.h)

Crea un contexto diferido, que puede registrar listas de comandos.

Sintaxis

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

Parámetros

ContextFlags

Reservado para uso futuro. Pase 0.

[out, optional] ppDeferredContext

Al finalizar el método, se inicializa el puntero pasado a un puntero de interfaz ID3D11DeviceContext1 .

Valor devuelto

Devuelve S_OK si se ejecuta correctamente; de lo contrario, devuelve una de las siguientes opciones:

  • Devuelve DXGI_ERROR_DEVICE_REMOVED si el adaptador de gráficos se ha quitado físicamente del equipo o se ha producido una actualización del controlador para el adaptador de gráficos. Si se produce este error, debe destruir y volver a crear el dispositivo.
  • Devuelve DXGI_ERROR_INVALID_CALL si no se puede llamar al método CreateDeferredContext1 desde el contexto actual. Por ejemplo, si el dispositivo se creó con el valor de D3D11_CREATE_DEVICE_SINGLETHREADED , CreateDeferredContext1 devuelve DXGI_ERROR_INVALID_CALL.
  • Devuelve E_INVALIDARG si el parámetro ContextFlags no es válido.
  • Devuelve E_OUTOFMEMORY si la aplicación ha agotado la memoria disponible.

Comentarios

Un contexto diferido es un contexto seguro para subprocesos que puede usar para grabar comandos gráficos en un subproceso distinto del subproceso de representación principal. Mediante el uso de un contexto diferido, puede grabar comandos gráficos en una lista de comandos encapsulada por la interfaz ID3D11CommandList . Después de grabar todos los elementos de escena, puede enviarlos al subproceso de representación principal para la representación final. De esta manera, puede realizar tareas de representación simultáneamente en varios subprocesos y mejorar potencialmente el rendimiento en escenarios de CPU de varios núcleos.

Puede crear varios contextos diferidos.

Nota Si usa el valor de D3D11_CREATE_DEVICE_SINGLETHREADED para crear el dispositivo representado por ID3D11Device1, se producirá un error en el método CreateDeferredContext1 y no podrá crear un contexto diferido.
 
Para obtener más información sobre los contextos diferidos, vea Representación inmediata y diferida.

Windows Phone 8: se admite esta API.

Requisitos

   
Cliente mínimo compatible Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11_1.h
Library D3D11.lib

Consulte también

ID3D11Device1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3

ID3D11Device::CreateDeferredContext