Método ID3D11Device2::CreateDeferredContext2 (d3d11_2.h)
Cria um contexto adiado, que pode registrar listas de comandos.
Sintaxe
HRESULT CreateDeferredContext2(
UINT ContextFlags,
[out, optional] ID3D11DeviceContext2 **ppDeferredContext
);
Parâmetros
ContextFlags
Tipo: UINT
Reservado para uso futuro. Passe 0.
[out, optional] ppDeferredContext
Tipo: ID3D11DeviceContext2**
Após a conclusão do método, o ponteiro passado para um ponteiro de interface ID3D11DeviceContext2 é inicializado.
Valor retornado
Tipo: HRESULT
Retorna S_OK se tiver êxito; caso contrário, retorna um dos seguintes:
- Retorna DXGI_ERROR_DEVICE_REMOVED se o cartão de vídeo foi fisicamente removido do sistema ou se ocorreu uma atualização de driver para o cartão de vídeo. Se esse erro ocorrer, você deverá destruir e recriar o dispositivo.
- Retorna DXGI_ERROR_INVALID_CALL se o método CreateDeferredContext2 não puder ser chamado do contexto atual. Por exemplo, se o dispositivo tiver sido criado com o valor D3D11_CREATE_DEVICE_SINGLETHREADED , CreateDeferredContext2 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.
Requisitos
Cliente mínimo com suporte | Windows 8.1 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | d3d11_2.h |
Biblioteca | D3D11.lib |
Confira também
ID3D11Device1::CreateDeferredContext1