Envío de trabajo en Direct3D 12
Para mejorar la eficacia de la CPU de las aplicaciones de Direct3D, a partir de la versión 12, Direct3D ya no admite un contexto inmediato asociado a un dispositivo. En su lugar, la aplicación registra y, a continuación, envía listas de comandos, que contienen llamadas de dibujo y administración de recursos. Puede enviar estas listas de comandos desde varios subprocesos a una o varias colas de comandos, que administran la ejecución de los comandos. Este cambio fundamental aumenta la eficacia de un solo subproceso al permitir que la aplicación realice un trabajo previo a la representación de proceso para su reutilización posterior y aprovecha las ventajas de los sistemas de varios núcleos mediante la propagación del trabajo de representación entre varios subprocesos.
En esta sección
Tema | Descripción |
---|---|
Diseño de la filosofía de las colas de comandos y las listas de comandos | Los objetivos de habilitar la reutilización del trabajo de representación y del escalado multiproceso, requieren cambios fundamentales en la forma en que las aplicaciones de Direct3D envían el trabajo de representación a la GPU. |
Creación y grabación de listas de comandos y agrupaciones | En este tema se describen las listas y agrupaciones de comandos de grabación en aplicaciones de Direct3D 12. Las listas de comandos y agrupaciones permiten que las aplicaciones registren llamadas de dibujo o cambio de estado para su ejecución posterior en la unidad de procesamiento de gráficos (GPU). |
Ejecutar y sincronizar listas de comandos | En Microsoft Direct3D 12, el modo inmediato de versiones anteriores ya no está presente. En su lugar, las aplicaciones crean listas de comandos y agrupaciones y, a continuación, registran conjuntos de comandos de GPU. Las colas de comandos se usan para enviar listas de comandos que se van a ejecutar. Este modelo permite a los desarrolladores tener más control sobre el uso eficaz de GPU y CPU. |
Administración del estado de canalización de gráficos en Direct3D 12 | En este tema se describe cómo se establece el estado de canalización de gráficos en Direct3D 12. |
Uso de barreras de recursos para sincronizar estados de recursos en Direct3D 12 | Para reducir el uso general de cpu y habilitar el procesamiento previo y multiproceso del controlador, Direct3D 12 mueve la responsabilidad de la administración de estado por recurso del controlador de gráficos a la aplicación. |
Canalizaciones y sombreadores con Direct3D 12 | La canalización programable de Direct3D 12 aumenta significativamente el rendimiento de representación en comparación con las interfaces de programación de gráficos de generación anterior. |
Sombreado de velocidad variable (VRS) | Sombreado de velocidad variable (o sombreado de píxeles gruesos) es un mecanismo que permite asignar rendimiento o potencia de representación a velocidades que varían en la imagen representada. |
Fases de representación | La característica de pases de representación ayuda al representador a mejorar la eficacia de la GPU al reducir el tráfico de memoria hacia y desde la memoria fuera del chip; para ello, permite a la aplicación identificar mejor los requisitos de ordenación de representación de recursos y las dependencias de datos. |