¿Qué es DirectX 10?

/

En el sistema de canalización de gráficos de DirectX 10, el mayor cambio estructural es la adición de una unidad de representación geométrica (Geometry Shader) en la etapa de procesamiento de geometría. La unidad de representación de geometría se adjunta a la unidad de representación de vértices, pero no genera vértices uno por uno como la unidad de representación de vértices, sino que utiliza primitivas como objetos de procesamiento.

El primitivo es un nivel más alto que el vértice en la jerarquía y está compuesto por uno o más vértices. Una primitiva que consta de un solo vértice se llama punto, una primitiva que consta de dos vértices se llama línea y una primitiva que consta de tres vértices se llama triángulo. La unidad de representación geométrica admite varios tipos primitivos, como puntos, líneas, triángulos, líneas con puntos adyacentes y triángulos con puntos adyacentes.

qué es DirectX 10

Característica notables con el directX 10

Puede procesar hasta seis vértices a la vez. Con el soporte de tipos primitivos ricos, la unidad de representación geométrica permite que la GPU proporciona detalles más finos del modelo. La unidad de representación geométrica le da a la GPU la capacidad mágica de crear nuevos objetos geométricos por sí misma y agregar contenido a la escena. Las capacidades de procesamiento flexibles hacen que la GPU sea más versátil.

Muchas tareas que antes tenía que realizar la CPU ahora pueden ser procesadas por la GPU. De esta forma, la CPU tiene más tiempo para procesar inteligencia artificial, direccionamiento y otras tareas. Lo que es más sorprendente es que la unidad de representación geométrica también facilita la adición de operaciones físicas. DirectX 10 puede crear cajas con características físicas y simular objetos rígidos.

Se espera que las operaciones físicas se popularicen gradualmente bajo su liderazgo. Es previsible que con la ayuda de la unidad de renderizado geométrico, el rendimiento de la tarjeta gráfica tenga un salto cualitativo, y también experimentaremos juegos con velocidades más suaves, imágenes más bellas y tramas más detalladas.

Mayor eficiencia del controlador y API mejorada

Sabemos que cada personaje, arma y escena del juego es un Objeto en el programa 3D, y puede haber cientos de Objetos en cada cuadro de la pantalla del juego. Cuando la tarjeta gráfica está funcionando, cada Objeto debe transferirse desde la aplicación a la interfaz API y luego a la tarjeta gráfica a través del controlador de gráficos. 

En el sistema DirectX existente, cualquier operación o renderizado de un Objeto provocará un consumo adicional de recursos del sistema. Cuantos más Objetos haya en el juego, mayor será el tiempo de entrega y mayor consumo adicional. 

Según las estadísticas, cuando el chip gráfico DirectX 9 existente está funcionando; solo el 60% de su rendimiento se usa para computar programas 3D, ¡y el 40% restante de su potencia informática se desperdicia!

Para cambiar esta situación, DirectX 10 usa una función de indexación dinámica en el programa de renderizado. Los objetos son cargados automáticamente por el controlador y los datos pueden ser clasificados e ingresados ​​continuamente.

De esta manera, la cantidad de datos transmitidos en una sola transmisión es aumentado, lo que reduce en gran medida el consumo de tiempo adicional. Al introducir nuevas API y controladores, DirectX 10 aumentará el rendimiento de los chips gráficos al 80%. Sin aumentar el costo del hardware de la tarjeta gráfica, el rendimiento de la tarjeta gráfica se ha mejorado enormemente.

Tecnología de soporte de motor paralelo

Para mejorar la eficiencia del trabajo de la colaboración de múltiples tarjetas gráficas, Microsoft presenta el concepto de «Soporte de motor paralelo» en DirectX 10. Este puede transmitir los datos requeridos por dos GPU a dos GPU correspondientes por adelantado.

Al ser completamente controlado y desplegado por el conductor, y la intensidad de trabajo de las dos tarjetas gráficas puede estar bien equilibrada. 

En el modo de funcionamiento actual de la tarjeta maestro-esclavo, la tarjeta maestra tiene que determinar el marco y la cantidad de renderizado de la tarjeta esclava.

Con la introducción de la tecnología de soporte de motor paralelo, el concepto de tarjeta maestro-esclavo desaparecerá y el Se eliminará el poder de colaboración de dos o más tarjetas gráficas.

Arquitectura de renderizado unificada

La mayor innovación de DirectX 10 es la arquitectura de sombreado unificada. En la actualidad, varios hardware de gráficos y API utilizan una arquitectura de representación separada, es decir, la representación de vértices y la representación de píxeles se realizan de forma independiente.

La tarea del primero es construir vértices de polígono con información de coordenadas tridimensionales, y el segundo es convertir estos vértices de tridimensionales a bidimensionales. De esta manera, una escena «tridimensional» se puede mostrar en la pantalla a través del engaño visual. 

En correspondencia con esto, las GPU también tienen unidades de representación de vértices dedicadas y unidades de representación de píxeles. Para realizar estas dos tareas respectivamente debido a las diferentes cargas de trabajo; el número de estas dos unidades de representación no es igual.

La unidad de representación de vértices suele ser solo 1/de la unidad de reproducción de píxeles 3 ~ 1/2. En los últimos años, este diseño separado ha hecho una cierta contribución al desarrollo de gráficos por computadora. Sin embargo, Microsoft cree que esta arquitectura de representación separada no es lo suficientemente flexible.

Diferentes GPU tienen diferentes proporciones de unidades de representación de píxeles y unidades de representación de vértices. Los desarrolladores de software deben considerar esta proporción al escribir código, lo que limita en gran medida la libertad de los desarrolladores en el espacio. 

Además, diferentes juegos de gráficos o software tienen diferentes requisitos para la representación de píxeles y la representación de vértices, lo que resulta en una subutilización de los recursos informáticos de la GPU. Por esta razón, Microsoft propuso la idea de una arquitectura de renderizado unificada en DirectX 10.

Con diferentes tipos de programas de renderizado se ejecutan en unidades de renderizado del mismo tipo físico. En otras palabras, solo se utiliza un tipo de unidad de renderizado, de modo que pueda completar el renderizado de vértices, el renderizado de píxeles e incluso el renderizado geométrico. 

De esta forma, la unidad de renderizado se puede utilizar al máximo, reduciendo la situación de recursos ociosos. En la actualidad, el chip de visualización Xenos de X  x 360 utiliza una arquitectura de renderizado unificada. El chip tiene un total de 48 unidades de renderizado, todas las cuales pueden usarse para renderizado de vértices o renderizado de píxeles, y no hay una proporción de asignación fija. 

Además, ATI también tiene la intención de adoptar una arquitectura de renderizado unificada en la nueva generación de chips R600. Por supuesto, la arquitectura de renderizado unificada no es perfecta. En comparación con el renderizado de vértices, el renderizado de píxeles enfrentará el retraso del material causado por el uso a gran escala de texturas.

Siendo este un problema grave que se debió de resolver en la arquitectura de renderizado unificada. Pero una cosa es cierta, bajo la fuerte promoción de Microsoft, una arquitectura de renderizado unificada es la tendencia general.