Compartilhar via


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

Cria um contexto adiado, que pode registrar listas de comandos.

Sintaxe

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

Parâmetros

ContextFlags

Reservado para uso futuro. Passe 0.

[out, optional] ppDeferredContext

Após a conclusão do método, o ponteiro passado para um ponteiro de interface ID3D11DeviceContext1 é inicializado.

Valor retornado

Retorna S_OK se tiver êxito; caso contrário, retorna um dos seguintes:

  • Retorna DXGI_ERROR_DEVICE_REMOVED se o adaptador gráfico foi fisicamente removido do computador ou ocorreu uma atualização de driver para o adaptador gráfico. Se esse erro ocorrer, você deverá destruir e recriar o dispositivo.
  • Retorna DXGI_ERROR_INVALID_CALL se o método CreateDeferredContext1 não puder ser chamado do contexto atual. Por exemplo, se o dispositivo tiver sido criado com o valor D3D11_CREATE_DEVICE_SINGLETHREADED , CreateDeferredContext1 retornará DXGI_ERROR_INVALID_CALL.
  • Retorna E_INVALIDARG se o parâmetro ContextFlags for inválido.
  • Retorna E_OUTOFMEMORY se o aplicativo tiver esgotado a memória disponível.

Comentários

Um contexto adiado é um contexto thread-safe que você pode usar para gravar comandos gráficos em um thread diferente do thread de renderização main. Usando um contexto adiado, você pode gravar comandos gráficos em uma lista de comandos encapsulada pela interface ID3D11CommandList . Depois de gravar todos os itens de cena, você pode enviá-los para o thread de renderização main para renderização final. Dessa maneira, você pode executar tarefas de renderização simultaneamente em vários threads e potencialmente melhorar o desempenho em cenários de CPU de vários núcleos.

Você pode criar vários contextos adiados.

Nota Se você usar o valor D3D11_CREATE_DEVICE_SINGLETHREADED para criar o dispositivo representado por ID3D11Device1, o método CreateDeferredContext1 falhará e você não poderá criar um contexto adiado.
 
Para obter mais informações sobre contextos adiados, consulte Renderização imediata e adiada.

Windows Phone 8: há suporte para essa API.

Requisitos

   
Cliente mínimo com suporte Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Platform Update para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d3d11_1.h
Biblioteca D3D11.lib

Confira também

ID3D11Device1

ID3D11Device2::CreateDeferredContext2

ID3D11Device3::CreateDeferredContext3

ID3D11Device::CreateDeferredContext