Compartilhar via


Envio de trabalho no Direct3D 12

Para melhorar a eficiência da CPU de aplicativos Direct3D, a partir da versão 12, o Direct3D não dá mais suporte a um contexto imediato associado a um dispositivo. Em vez disso, o aplicativo registra e envia listas de comandos, que contêm chamadas de desenho e gerenciamento de recursos. Você pode enviar essas listas de comandos de vários threads para uma ou mais filas de comandos, que gerenciam a execução dos comandos. Essa alteração fundamental aumenta a eficiência de thread único, permitindo que seu aplicativo pré-compute o trabalho de renderização para reutilização posterior e aproveita os sistemas multi-núcleos espalhando o trabalho de renderização em vários threads.

Nesta seção

Tópico Descrição
Filosofia de design de filas de comandos e listas de comandos As metas de habilitar a reutilização do trabalho de renderização e do dimensionamento de vários threads exigiram alterações fundamentais na forma como os aplicativos Direct3D enviam o trabalho de renderização para a GPU.
Criar e gravar listas de comandos e pacotes Este tópico descreve a gravação de listas de comandos e pacotes em aplicativos Direct3D 12. Listas de comandos e pacotes permitem que os aplicativos registrem chamadas de desenho ou alteração de estado para execução posterior na GPU (unidade de processamento de gráficos).
executando e sincronizando listas de comandos No Microsoft Direct3D 12, o modo imediato das versões anteriores não está mais presente. Em vez disso, os aplicativos criam listas de comandos e pacotes e, em seguida, registram conjuntos de comandos de GPU. As filas de comando são usadas para enviar listas de comandos a serem executadas. Esse modelo permite que os desenvolvedores tenham mais controle sobre o uso eficiente da GPU e da CPU.
Gerenciando o estado do pipeline de gráficos no Direct3D 12 Este tópico descreve como o estado do pipeline de gráficos é definido no Direct3D 12.
Usando barreiras de recursos para sincronizar estados de recursos no Direct3D 12 Para reduzir o uso geral da CPU e habilitar o pré-processamento e o multi-threading do driver, o Direct3D 12 move a responsabilidade do gerenciamento de estado por recurso do driver gráfico para o aplicativo.
Pipelines e sombreadores com o Direct3D 12 O pipeline programável do Direct3D 12 aumenta significativamente o desempenho de renderização em comparação com as interfaces de programação de gráficos de geração anterior.
vrs (sombreamento de taxa variável) O sombreamento de taxa variável — ou sombreamento de pixels grosseiros — é um mecanismo que permite alocar desempenho/energia de renderização a taxas que variam entre sua imagem renderizada.
Renderização passa O recurso de passagem de renderização ajuda o renderizador a melhorar a eficiência da GPU, reduzindo o tráfego de memória de/para a memória fora do chip; ele faz isso habilitando seu aplicativo para identificar melhor os requisitos de ordenação de renderização de recursos e as dependências de dados.