miércoles, 5 de agosto de 2020

Conozcamos DirectX 12 Ultimate y su importancia

DirectX 12 Ultimate es una importante puesta al día de la conocida API de Microsoft. Con ella, el gigante de Redmond ha dado un paso importante a la hora de simplificar, estandarizar y unificar los desarrollos de juegos de nueva generación para PC y Xbox Series X, ya que agrupa cuatro tecnologías de última generación clave para el sector bajo una única bandera.

Antes de entrar a ver en detalle cada una de esas nuevas tecnologías vamos a detenernos un momento en esa idea de DirectX 12 Ultimate como vía de unificación de los desarrollos de juegos para Xbox Series X y PC. Puede sonar un poco extraño al principio, pero tiene una explicación muy sencilla, y es que los juegos de ambas plataformas estarán desarrollados, en su mayoría, bajo dicha API. Sí, habrá juegos que llegarán a PC haciendo uso de Vulkan, pero esta seguirá siendo una opción «minoritaria», para bien o para mal.

Esto quiere decir que desarrollar un juego para Xbox Series X bajo DirectX 12 Ultimate facilita enormemente su posterior adaptación a PC, y a la inversa. No debe sorprendernos, Microsoft tiene un interés claro en apoyar a Xbox Series X, pero también tiene una presencia clave en el mundo del PC, así que en el fondo estamos ante un movimiento natural que resulta, sin duda, muy positivo.

Desde un punto de vista estricto podemos definir a DirectX 12 Ultimate como una versión que recopila nuevas tecnologías y que amplía las capacidades que tenía la versión original de DirectX 12. 

Esas nuevas tecnologías se integran ahora de forma totalmente nativa, lo que quiere decir que los desarrolladores de juegos lo tendrán mucho más fácil a la hora de aprovecharlas y de desarrollar sus títulos con lo más avanzado del sector.


¿Qué tarjetas gráficas son compatibles con DirectX 12 Ultimate?


Muchos de vosotros recordaréis lo que ocurrió con las diferentes versiones que lanzó Microsoft tras la versión original de DirectX, y es que las tarjetas gráficas más antiguas se iban quedando sin soporte. No tenemos que remontarnos muy atrás para encontrar ejemplos sencillos, las GeForce serie 7000 y las Radeon X1000 estaban limitadas a DirectX 9, mientras que las GeForce serie 8000 y Radeon HD 2000 dieron el salto a los shaders unificados y soportaron DirectX 10.

Pues bien, en el caso de DirectX 12 Ultimate el soporte pleno a día de hoy está limitado a las GeForce RTX serie 20. Las Radeon RX serie 5000, basadas en la arquitectura RDNA, no cuentan con soporte de trazado de rayos acelerado por hardware, y tampoco son compatibles con otras tecnologías clave como los shaders mallados o el sombreador de tasa variable. En efecto, esto quiere decir que esta arquitectura podría acabar teniendo una «vejez» bastante mala, sobre todo si dichas tecnologías se empiezan a aprovechar de verdad a finales de este mismo año.

AMD ha confirmado que la arquitectura RDNA 2, que será utilizada en las Radeon RX serie 6000 y que llegarán durante el tercer trimestre de este mismo año, serán totalmente compatibles con DirectX 12 Ultimate, lo que significa que estarán preparadas para acelerar trazado de rayos por hardware. Veremos, eso sí, el rendimiento que son capaces de ofrecer.

Os recuerdo que según las últimas informaciones PS5 no monta una GPU basada en la arquitectura RDNA 2, sino que está limitada a una generación intermedia que podemos considerar como RDNA 1.5, y que esto podría acabará lastrando en gran medida su vida útil, dado que carece de funciones que representan un valor claro en términos de optimización.

Las tarjetas gráficas de generaciones anteriores son compatibles con DirectX 12, pero no soportan las funciones avanzadas que aglutina DirectX 12 Ultimate, y que vamos descubrir justo a continuación.



DirectX 12 Ultimate: DXR 1.1 para un trazado de rayos más eficiente


El trazado de rayos ha marcado un importante avance a nivel de calidad gráfica en el mundo de los videojuegos. Como sabrán nuestros lectores más avanzados con esta tecnología es posible generar efectos de iluminación, reflejos y sombras altamente realistas, pero el coste que representa a nivel de rendimiento es enorme, tanto que ni siquiera las GeForce RTX serie 20, que cuentan con núcleos RT para acelerar este tipo de cargas de trabajo, logran un resultado verdaderamente óptimo.

Con DXR 1.1 se consigue una mejora considerable a nivel de rendimiento y se equilibra esa relación entre calidad de imagen y rendimiento. Los desarrolladores podrán utilizar el trazado de rayos para recrear el comportamiento que tiene la luz en el mundo real, generando grandes cantidades de rayos que rebotan y rebotan en diferentes superficies, pero con esta nueva API tendrán un mayor control sobre esta tecnología.

Un mayor control debería equivaler a una mayor optimización, y esto último debería traducirse en un mayor rendimiento en juegos con trazado de rayos, al menos en teoría. Creo que tendremos que esperar al lanzamiento de Xbox Series X para valorar, de verdad, hasta qué punto DXR 1.1 es capaz, o no, de marcar una diferencia importante.

En juegos actuales ya hemos podido ver que el trazado de rayos se puede configurar en diferentes niveles de calidad, aunque en realidad es más correcto decir en diferentes niveles de intensidad, ya que a mayor número de rayos generados mayor realismo, pero también mayor consumo de recursos. Ese mayor control que promete Microsoft debería tener un impacto positivo en este sentido. Con todo, no debemos esperar milagros, ya que sigue siendo una tecnología muy exigente.



DirectX 12 Ultimate: shaders mallados


Los shaders mallados no una novedad en sentido estricto, aunque gracias a su integración de forma nativa en DirectX 12 Ultimate cabe esperar que su utilización sea cada vez mayor, y esto es bueno para todos, ya que representan un avance importante en términos de optimización que podría mejorar el rendimiento en juegos de nueva generación, y de una manera notable.

Su funcionamiento es muy sencillo, se trata de una tecnología que analiza en tiempo real todos los elementos presentes en una escena y decide, partiendo de una serie de claves básicas, qué elementos de aquella deben tener una mayor carga geométrica y qué elementos no, siempre ponderando el equilibrio entre rendimiento y calidad de imagen.

Estoy seguro de que a muchos de vosotros os habrá recordado al sombreador de tasa variable, y sí, en esencia la idea es prácticamente la misma, aunque en este caso aplica a la geometría y no a las sombras. Por ejemplo, imagina que estás jugando a DOOM Eternal, pues bien, la parte central de la pantalla debería tener una mayor carga geométrica, y esta se podría ir reduciendo en las zonas más alejadas sin ningún problema.

Cuando se ha completado el análisis las partes que menos impacto visual tienen reciben una reducción en el número de triángulos utilizados, mientras que aquellas secciones de la imagen que tienen un mayor peso en la escena pueden recibir un aumento del número total de triángulos. De esta manera se puede mejorar, incluso, el resultado final y reducir el impacto en el rendimiento.

DirectX 12 Ultimate: sombreador de tasa variable


Como hemos anticipado estamos ante un «primo hermano» del anterior. Esta tecnología analiza también los elementos presentes en una determinada escena y valora, en función de todo lo que aparece en ella y de otras particularidades, qué secciones deben tener un sombreado de mayor calidad y qué partes no.

El objetivo es el mismo que en el caso anterior, reducir el consumo de recursos aplicando un sombreado de forma inteligente y sin que se produzca una pérdida de imagen notable.
Algunos juegos ya ha utilizado una tecnología de este tipo, como Wolfenstein Youngblood, y la mejora de rendimiento rondaba entre el 5% y el 10%. No está nada mal, sobre todo teniendo en cuenta que era prácticamente imposible encontrar una mínima pérdida de calidad de imagen.

Esta tecnología, en combinación con la anterior, podría ayudar a mejorar el rendimiento en juegos de una manera más que considerable. Pensad, por un momento, en lo que implicaría una geometría menos compleja y un sombreado menos intenso. En efecto, supondría una importante liberación de recursos, siempre que se ejecute correctamente.

DirectX 12 Ultimate: retroalimentación de muestras



La última de las cuatro nuevas tecnologías de última generación que aglutina DirectX 12 Ultimate, y francamente una de las más interesantes y de las que más desapercibida ha pasado.

El objetivo de esta función es conseguir un renderizado más eficiente. Sí, Microsoft ha centrado el tiro en la optimización con DirectX 12 Ultimate, y francamente no me sorprende, ya que si quiere que el trazado de rayos sea realmente viable en Xbox Series X tiene que reducir el consumo de recursos en otros frentes.

Con la retroalimentación de muestras se reutilizan recursos de escenas anteriores, lo que permite aprovechar y reutilizar información de elementos de la imagen que no cambian frecuentemente, como por ejemplo el sombreado y los colores de ciertas escenas. Esto evita tener que generar, por completo, un nuevo fotograma, y reduce el consumo de recursos.

Gracias a esta tecnología también podemos mejorar las cargas de trabajo con texturas de alta calidad, y reducir problemas clásicos tan molestos como el «popping» (aparición súbita de texturas y de objetos) y el «stuttering» (tartamudeo de la imagen).



¿Por qué es tan importante DirectX 12 Ultimate?


En cierto modo ya lo hemos dicho a lo largo de los párrafos anteriores. DirectX 12 Ultimate es importante porque supone un movimiento claro, y definitivo, a favor de la unificación de los desarrollos centrados en Xbox Series X y PC. Los desarrolladores podrán aprovechar, desde el principio, todos los recursos de ambos sistemas, y desarrollar a bajo nivel para conseguir una buena optimización dejará de ser un problema.

DirectX 12 Ultimate debería permitir una mejora importante en términos de rendimiento, algo que beneficiará, sin duda, a los jugadores de PC que tengan equipos con un hardware más modesto. Pensad, por ejemplo, en un equipo basado en una RTX 2060. Dicha tarjeta gráfica puede mover juegos en 1080p y 1440p de forma óptima con títulos de la generación actual, pero los desarrollos de nueva generación serán más exigentes y podrían llegar a ponerla en apuros, sobre todo en configuraciones de calidad máximas.

Pues bien, gracias a las tecnologías de shaders mallados, sombreador de tasa variable y retroalimentación de muestras que agrupa DirectX 12 Ultimate dicha tarjeta gráfica podría envejecer mucho mejor, y ofrecer un rendimiento por encima de lo esperado incluso en títulos triple A exigentes de nueva generación.

No hay duda de que DirectX 12 Ultimate marca un avance importante de cara a la unificación y a la optimización de los desarrollos, apostando por un enfoque de bajo nivel y por un óptimo aprovechamiento de los recursos de cada plataforma, pero también es un paso adelante a favor del trazado de rayos. La integración de DXR 1.1 y las promesas de un mayor control y de un rendimiento más equilibrado podrían ser clave para la democratización de una tecnología que, hasta ahora, se habría perfilado como algo casi prohibitivo.

Está claro que Xbox Series X va a ser la gran beneficiada de esta nueva API. Ya ocurrió en su momento cuando Microsoft anunció Xbox One, y es que contar con una versión específica de DirectX adaptada a las posibilidades de su consola fue clave para conseguir un buen rendimiento y para exprimir desde el primer día todo su potencial, una realidad que se volverá a repetir con Xbox Series X. Sin embargo, en este caso, la compañía de Redmond no dará de lado a los usuarios de PC.

Saludos.

No hay comentarios :

Publicar un comentario

Por favor, escribe adecuadamente y se respetuoso. Gracias.