Partilhar via


Criação de 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.

As restrições sobre quando você pode criar um recurso como um recurso de streaming são descritas em Parâmetros de criação de recursos de streaming.

O armazenamento de um recurso que não é de streaming é alocado no sistema gráfico quando o recurso é criado, como a 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 uma aplicação cria um recurso de streaming, o sistema gráfico faz uma reserva de espaço de endereçamento apenas para a área da superfície com telhas e, em seguida, permite que o mapeamento das telhas seja controlado pela aplicação. O "mapeamento" de um bloco é simplesmente o local físico na memória para o qual um bloco lógico em um recurso aponta (ou NULL para um bloco não mapeado).

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

Nesta seção

Tópico Descrição

Os mapeamentos estão numa piscina de azulejos

Quando um recurso é criado como um recurso de streaming, os tiles que constituem o recurso provêm de apontar para locais num pool de tiles. Um pool de blocos é um pool de memória (apoiado por uma ou mais alocações nos bastidores - não visto 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.

Compartilhamento de recursos de streaming entre processos e dispositivos

Os pools de blocos 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 disponíveis em agrupamentos de tiles

As operações em pools de blocos incluem o redimensionamento de um pool de blocos, ceder recursos (cedendo temporariamente memória ao sistema para o pool de blocos inteiro) e a recuperação de recursos.

Como a área de um recurso de streaming é segmentada em mosaicos

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 blocos necessários para fazer backup de toda a área de superfície.

 

Recursos de streaming