enumeración D3D10_USAGE (d3d10.h)

Identifica el uso esperado de recursos durante la representación. El uso refleja directamente si la CPU o la GPU pueden acceder a un recurso.

Syntax

typedef enum D3D10_USAGE {
  D3D10_USAGE_DEFAULT = 0,
  D3D10_USAGE_IMMUTABLE = 1,
  D3D10_USAGE_DYNAMIC = 2,
  D3D10_USAGE_STAGING = 3
} ;

Constantes

 
D3D10_USAGE_DEFAULT
Valor: 0
Recurso que requiere acceso de lectura y escritura mediante la GPU. Es probable que sea la opción de uso más común.
D3D10_USAGE_IMMUTABLE
Valor: 1
Recurso que solo puede leer la GPU. No se puede escribir mediante la GPU y no se puede acceder a él en absoluto mediante la CPU. Este tipo de recurso se debe inicializar cuando se crea, ya que no se puede cambiar después de la creación.
D3D10_USAGE_DYNAMIC
Valor: 2
Un recurso al que puede acceder tanto la GPU como la CPU (solo escritura). Un recurso dinámico es una buena opción para un recurso que la CPU actualizará al menos una vez por fotograma. Para escribir en un recurso dinámico en la CPU, use un método Map . Puede escribir en un recurso dinámico en la GPU mediante CopyResource o CopySubresourceRegion.
D3D10_USAGE_STAGING
Valor: 3
Recurso que admite la transferencia de datos (copia) desde la GPU a la CPU.

Comentarios

Una aplicación identifica la forma en que se va a usar un recurso (su uso) en una descripción de recursos. Hay varias estructuras para crear recursos, como: D3D10_TEXTURE1D_DESC, D3D10_TEXTURE2D_DESC, D3D10_TEXTURE3D_DESC, D3D10_BUFFER_DESC y D3DX10_IMAGE_LOAD_INFO.

Diferencias entre Direct3D 9 y Direct3D 10:

En Direct3D 9, especifique el tipo de memoria en la que se debe crear un recurso en el momento de la creación de recursos (mediante D3DPOOL). Fue el trabajo de una aplicación decidir qué grupo de memoria proporcionaría la mejor combinación de funcionalidad y rendimiento.

En Direct3D 10, una aplicación ya no especifica en qué tipo de memoria (el grupo) se va a crear un recurso. En su lugar, especifique el uso previsto del recurso y deje que el tiempo de ejecución (en conjunto con el controlador y un administrador de memoria) elija el tipo de memoria que logrará el mejor rendimiento.

 

Restricciones de uso de recursos

Cada uso determina un equilibrio entre la funcionalidad y el rendimiento. En general, el acceso a recursos se realiza con las siguientes API. Use la tabla siguiente para elegir el uso que mejor describe cómo tendrá acceso el recurso a la CPU o la GPU. Por supuesto, habrá inconvenientes en el rendimiento.
Resource Usage Default Dinámica Inmutable Ensayo
GPU-Read Sí¹ 1, 2
GPU-Write Sí¹ 1, 2
CPU-Read 1, 2
CPU-Write 1, 2
 

Opciones de enlace de recursos

Para maximizar el rendimiento, no todas las opciones de uso de recursos se pueden usar como recursos de entrada o salida en la canalización. En esta tabla se identifican estas limitaciones.
El recurso se puede enlazar como Default Dinámica Inmutable Ensayo
Entrada en una fase Sí³ Sí⁴
Salida de una fase Sí³
 
  • 3- Si se enlaza como entrada y salida mediante vistas diferentes, cada vista debe usar subrecursos diferentes.
  • 4 - El recurso solo se puede crear con un único subrecurso. El recurso no puede ser una matriz de texturas. El recurso no puede ser una cadena de mapas mip.

Requisitos

Requisito Valor
Header d3d10.h

Consulte también

Enumeraciones de recursos