Partilhar via


Subalocação dentro de buffers

Os buffers têm todos os recursos necessários no D3D12 para aplicativos que transferem uma grande variedade de dados transitórios da CPU para a GPU. Esta seção abrange quatro cenários comuns para o uso e gerenciamento de recursos e buffers.

Semelhante ao D3D11, os aplicativos no D3D12 ainda precisam declarar o uso de memória ao alocar buffers no D3D12 em comparação com os recursos dinâmicos/de preparo no D3D11, mas no D3D12, os desenvolvedores têm mais flexibilidade e controle mais rígido sobre o uso de memória. Os buffers, através da subalocação, têm todos os recursos necessários para o gerenciamento de memória de baixo nível.

Nesta secção

Tópico Descrição
Upload de diferentes tipos de recursos
Mostra como usar um buffer para carregar dados de buffer constante e dados de buffer de vértice para a GPU e como subalocar e colocar dados corretamente em buffers. O uso de um único buffer aumenta a flexibilidade de uso de memória e fornece aos aplicativos um controle mais rígido do uso de memória. Também mostra as diferenças entre os modelos D3D11 e D3D12 para carregar diferentes tipos de recursos.
Upload de dados de textura através de buffers
O carregamento de dados de textura 2D ou 3D é semelhante ao carregamento de dados 1D, exceto que os aplicativos precisam prestar mais atenção ao alinhamento de dados relacionados ao passo de linha. Os buffers podem ser usados ortogonalmente e simultaneamente a partir de várias partes do pipeline gráfico e são muito flexíveis.
Ler dados através de um buffer
A leitura de dados da GPU, como a captura de uma captura de tela, envolve o uso da pilha de Readback.
Fence-Based Gestão de Recursos
Mostra como gerenciar a vida útil dos dados do recurso acompanhando o progresso da GPU por meio de cercas. A memória pode ser efetivamente reutilizada com cercas gerenciando cuidadosamente a disponibilidade de espaço livre na memória, como em uma implementação de buffer de anel para uma pilha de upload.

de gerenciamento de memória