Compartilhar via


Criando recursos de streaming

Os recursos de streaming são criados especificando um sinalizador quando você cria um recurso, indicando que o recurso é um recurso de streaming.

Restrições sobre quando você pode criar um recurso como um recurso de streaming são descritas nos parâmetros de criação de recursos de streaming .

O armazenamento de um recurso de não streaming é alocado no sistema gráfico quando o recurso é criado, como alocação para uma matriz de texturas 2D.

Quando um recurso de streaming é criado, o sistema gráfico não aloca o armazenamento para o conteúdo do recurso. Em vez disso, quando um aplicativo cria um recurso de streaming, o sistema gráfico realiza uma reserva de espaço de endereço somente para a área da superfície em mosaico, permitindo que o aplicativo controle o mapeamento dos mosaicos. O "mapeamento" de um bloco é simplesmente o local físico na memória para o qual um bloco lógico em um recurso aponta para (ou NULL para um bloco não mapeado).

Não confunda esse conceito com a noção de mapeamento de um recurso Direct3D para acesso à CPU, que apesar de usar o mesmo nome é completamente independente. Você poderá definir e alterar o mapeamento de cada bloco individualmente conforme necessário, sabendo que todos os blocos de uma superfície não precisam ser mapeados de cada vez, tornando assim o uso efetivo da quantidade de memória disponível.

Nesta seção

Tópico Descrição

Os mapeamentos estão em um conjunto de blocos

Quando um recurso é criado como um recurso de streaming, os blocos que compõem o recurso vêm de apontar para locais em um pool de blocos. Um pool de blocos é um pool de memória (suportado por uma ou mais alocações subjacentes - não visíveis pelo aplicativo).

parâmetros de criação de recursos de streaming

Há algumas restrições sobre o tipo de recursos Direct3D que você pode criar como um recurso de streaming.

parâmetros de criação do pool de blocos

Use os parâmetros nesta seção para definir pools de blocos ao criar um buffer.

Recurso de streaming para compartilhamento entre processos e dispositivos

Pools de tiles podem ser compartilhados com outros processos, assim como os recursos tradicionais. Os recursos de streaming que fazem referência a pools de blocos não podem ser compartilhados entre dispositivos e processos.

Operações disponíveis em recursos de streaming

Esta seção lista as operações que você pode executar em recursos de streaming.

Operações de disponíveis em pools de blocos

As operações em pools de blocos incluem redimensionar um pool de blocos, ceder recursos (cedendo memória temporariamente ao sistema para todo o pool de blocos) e recuperar recursos.

Como a área de um recurso de streaming é ladrilhada

Quando você cria um recurso de streaming, as dimensões, o tamanho do elemento de formato e o número de mipmaps e/ou fatias de matriz (se aplicável) determinam o número de tiles necessários para cobrir toda a área da superfície.

 

Recursos de streaming