Partilhar 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 suporta mais um contexto imediato associado a um dispositivo. Em vez disso, seu 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é-calcule o trabalho de renderização para reutilização posterior, e aproveita os sistemas de vários núcleos espalhando o trabalho de renderização em vários threads.

Nesta secção

Tópico Descrição
Filosofia de design de filas de comandos e listas de comandos Os objetivos de permitir a reutilização do trabalho de renderização e do dimensionamento multithreaded exigiram mudanças fundamentais na forma como os aplicativos Direct3D enviam o trabalho de renderização para a GPU.
Criação e gravação de listas de comandos e pacotes Este tópico descreve a gravação de listas de comandos e pacotes em aplicativos Direct3D 12. As listas de comandos e os pacotes permitem que os aplicativos gravem chamadas de desenho ou alteração de estado para execução posterior na unidade de processamento gráfico (GPU).
Executando e sincronizando listas de comandos No Microsoft Direct3D 12, o modo imediato de versões anteriores não está mais presente. Em vez disso, os aplicativos criam listas de comandos e pacotes e, em seguida, gravam conjuntos de comandos da GPU. As filas de comandos são usadas para enviar listas de comandos a serem executadas. Este 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 gráfico é 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 multithreading e o pré-processamento do driver, o Direct3D 12 transfere a responsabilidade do gerenciamento de estado por recurso do driver gráfico para o aplicativo.
Pipelines e sombreadores com 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 gráfica da geração anterior.
de sombreamento de taxa variável (VRS) O sombreamento de taxa variável — ou sombreamento de pixel grosseiro — é um mecanismo que permite alocar desempenho/energia de renderização em taxas que variam na imagem renderizada.
Render passa O recurso de passes 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 off-chip; Ele faz isso permitindo que seu aplicativo identifique melhor a renderização de recursos, os requisitos de ordenação e as dependências de dados.