Usuario anónimo
Iniciar sesión | Regístrate gratis
Tecnología

Te contamos por qué DirectX 12 Ultimate va a unir Xbox y PC como nunca hasta ahora

Comentaremos las características, integración e implicaciones que preparara Microsoft.

Por / 216 comentarios
Xbox Series X

Hace poco más de una semana, unos días después de la presentación de las especificaciones de Xbox Series X al mundo, Microsoft también movió ficha en el terreno del desarrollo video-lúdico con el anuncio de DirectX 12 Ultimate; la API que acompañará a la consola durante – presumiblemente – todo su ciclo vital y de la cual tenemos que destacar una cosa: su claro carácter unificador.


Todos conocemos la hoja de ruta de la división Xbox para con el sistema operativo estrella de los de Redmond; lanzamientos conjuntos, conversiones casi inmediatas y una buena integración entre el desarrollo de los títulos en ambas plataformas.


Sin embargo, DirectX 12 Ultimate llama a una coordinación total entre los desarrollos en Xbox y Windows 10. Ya no sólo hablamos de herramientas de conversión y herramientas similares entre plataformas; sino de trabajar indistintamente para ambas. Por ello, en este texto vamos a explorar las novedades de DX12 Ultimate y a divagar sobre las implicaciones de este rumbo.



I. El nuevo baluarte del desarrollo cruzado entre Xbox y Windows 10


Es importante entender que, aunque DirectX 12 Ultimate es un nuevo set de herramientas para desarrolladores, estas herramientas no son nuevas. Todo que incluye DX12 Ultimate ya ha aparecido de una forma u otra en DirectX 12; ni siquiera se trata de una nueva API, sino una actualización "formal" de DX12 para prepararla de cara a Xbox Series X y al hardware que ha salido al mercado desde su primera aparición. Dicho esto, podemos preguntarnos ¿Dónde está la novedad tras esta nueva actualización?


Imagen de Xbox Series X

La clave tras DX12 Ultimate está en su integración en las plataformas en las que se va a usar y en el momento de su lanzamiento. DirectX 12 vio la luz en un año 2015 en el que la Xbox One ya llevaba un tiempo en el mercado y el hardware de PC había sobrepasado claramente a las consolas del momento. La API de Microsoft acabaría por integrarse en la consola, pero esta integración se veía limitada en cierta manera por este hardware. La respuesta a este problema fue Xbox One X, pero a esas alturas ya nos preparábamos para el siguiente escalafón técnico.


En esta ocasión, DirectX 12 Ultimate llega a tiempo para las consolas de MicrosoftEn esta ocasión DX12 Ultimate va a ver la luz junto a la nueva consola de Microsoft y esta, debido a las características de su hardware, va a tener un punto de partida más parejo con lo que vemos en PC hoy por hoy. Esto facilita el desarrollo simultáneo entre ambas plataformas, razón por la cual DirectX 12 Ultimate comparte herramientas y controladores entre ellas. Todos los elementos técnicos comunes al espacio del PC podrán ver la luz en Series X, del mismo modo, todo desarrollo hecho para Series X debería ser compatible con Windows.



II. Una unión que trasciende las plataformas para centrarse en el hardware


Pero esta labor de conciliación de DirectX 12 Ultimate no sólo se limita al rifirrafe entre consolas y ordenadores. La mayoría de las tecnologías que DirectX 12 ha ido integrando desde su lanzamiento han venido de una estrecha colaboración entre Microsoft y Nvidia; la compañía californiana ha sido pionera en avances técnicos que ahora anuncia DX12 Ultimate, siendo tal vez el más reconocible el trabajo realizado con el Raytracing, protagonista de su actual gama de procesadores gráficos basados en la arquitectura Turing.


Xbox Series X.Xbox Series X.

Sin embargo, la consola de Microsoft hace uso del hardware de AMD tanto para su procesador principal, como el gráfico. Sobre este último debemos decir que está basada en RDNA 2, una prometedora arquitectura derivada de la actual RDNA que configuran a las gráficas Navi y de la cuales aún queda mucho por descubrir en el momento de escribir este artículo.


La labor de DX12 Ultimate es conciliar el hardware de las plataformas en las que se usaráParte de la labor de DirectX12 Ultimate es integrar en las herramientas para los desarrolladores vías que permitan aprovechar las características de sendas arquitecturas, sin dejar de lado a ninguna de ellas. Es la naturaleza de esta colaboración, fruto del trabajo bilateral de Microsoft tanto con AMD como con Nvidia, uno de los principales impulsores de esta nueva revisión de DX12. Podríamos decir que será una suerte de aglutinante entre Turing y RDNA 2 para toda obra desarrollada en el marco de Xbox y Windows 10.



III. Las características que veremos tras el lanzamiento de DX12 Ultimate


Llegados a este punto, toca pararnos a comentar cuáles son estas características que serán integradas; así como qué implicaciones tendrán para el futuro de los títulos que se desarrollen bajo su marco. Trataremos aquellas que más protagonismo han recibido por parte de Microsoft de forma breve, para todos aquellos interesados:



Raytracing a través de DXR 1.1


Tal vez la característica más llamativa – o la que más bombo ha recibido desde su presentación – ha sido el Raytracing; no es para menos, pues se trata de una técnica de renderizado que se antojaba como imposible para el mundo de los videojuegos hasta hace muy poco. No vamos a profundizar de nuevo en ella, ya que hemos hablado largo y tendido sobre su funcionamiento y resultados; pero sí que vamos a hablar de qué supone esta actualización.


Imagen de Xbox Series X

La realidad es el carácter experimental de la API original para Raytracing permea sobre la implementación de estas técnicas en videojuegos. Debido a esto, los desarrolladores tenían poco control sobre cómo implementar las técnicas de Raytracing a través de las herramientas de DX12, dando como resultado un gran consumo de recursos salvo contadas excepciones. Los resultados eran impresionantes visualmente, pero el coste en recursos era elevado.



Los esfuerzos en torno a DXR 1.1 se centran en hacer más sencilla y eficiente la implementación de estas técnicas; así como dar a los desarrolladores más control sobre qué de todo lo que ofrece el Raytracing van a implementar en sus videojuegos. Esta intencionalidad la vemos en medidas como la centralización de la GPU para la "colocación" de los shaders sin necesidad de usar la CPU; o en la aparición del llamado Inline Raytracing. Un método alternativo de RT algo más "descafeinado" que puede ubicarse en diferentes etapas del renderizado para conseguir un mejor efecto. Todas estas medidas se centran en llevar el RT a más títulos y que su implementación sea más sencilla, por lo que la veremos más asiduamente.



VRS: mejorando el modo en el que aplicamos las sombras en nuestros juegos


Otra de las inclusiones que ha recibido DX12 Ultimate ha sido el llamado Variable Rate Shading; una de las novedades que introdujo la arquitectura Turing de Nvidia. Se trata de un método para adaptar la representación de sombras en la pantalla, de forma que aquellas secciones que tienen menor impacto en la imagen final no tengan que recibir necesariamente un sombreado de 1:1 con respecto a la resolución. Para conseguirlo dividen por secciones de 16x16 píxeles las áreas de la pantalla y ajustan de forma dinámica la resolución de estas sombras cuadro a cuadro.


A través de VRS podemos aplicar sombras de diferente resolución en una escena dinámica.A través de VRS podemos aplicar sombras de diferente resolución en una escena dinámica.

Hablando de un modo más cercano, es un método que permite que las sombras se "vean peor" donde pasan más desapercibidas, para así ganar en rendimiento. Cuanto más intenso sea el gasto en recursos de una escena, mayor será el beneficio de aplicar VRS de forma adecuada; altas resoluciones como el 4K, o escenas complejas agradecerán esta adición para lo que es, al fin y al cabo, una pieza más para la optimización gráfica.



Recalibrando cómo representamos una escena a través de sombreadores de malla


De todos los elementos anunciados, uno de los que – a nivel personal – más interesante parece ser para el devenir del desarrollo gráfico en DX12 Ultimate es el llamado sombreador de malla (Mesh Shaders). Comprender el por qué de esto no tiene cabida en un texto como este, pero vamos a intentar encapsular su importancia.



Para comprender su importancia es necesario decir que un sombreador es, grosso modo, el encargado de realizar los cálculos que definen la posición de los gráficos que vemos en pantalla. Existen diversos tipos dentro de la arquitectura de un procesador gráfico, cada uno especializado en un apartado concreto de la cadena de procesos encargada de dibujar cada escena; los sombreadores de píxeles, o sombreadores de vértices son dos ejemplos rápidos.


A través de VRS podemos aplicar sombras de diferente resolución en una escena dinámica.// Imagen: Nvidia.A través de VRS podemos aplicar sombras de diferente resolución en una escena dinámica.// Imagen: Nvidia.

Mesh Shaders es un nuevo tipo de estos sombreadores, uno que reestructura la ya nombrada cadena de procesos – o pipeline – que nuestras GPU siguen al renderizar cada cuadro; en vez de pasar por los diferentes sombreadores hasta completar el proceso, el sombreador de malla simplifica todo este intercambio de información. Este cambio busca optimizar el modo en el que se representa la geometría de cada escenario a través de la rasterización; mientras abre las puertas a todas las técnicas de las que ya hemos hablado. Para aquellos con más hambre de conocimiento, recomiendo encarecidamente este post de Nvidia.



Sampler Feedback: otra herramienta para la optimización


Por último, pero no por ello menos interesante, tenemos la inclusión del Sampler Feedback; una de las novedades que introdujo el lanzamiento de Turing. Se trata de una herramienta para optimizar el modo en el que cargamos las texturas de una escena con una geometría dinámica – ya sea por la distancia, el LOD, o un simple cambio de cámara –.


Imagne: Microsoft.Imagne: Microsoft.

A través del Sampler Feedback se prevé que sea más sencillo optimizar recursos valiosos como la VRAM a la hora de cargar una escena; favoreciendo a aquellos elementos con mayor presencia en la pantalla. Entre sus bondades se encuentra su facilidad para habilitar el uso de técnicas como el Texture-Space Shading y de otras técnicas encargadas a mejorar el rendimiento en escenas con una iluminación compleja.



IV. ¿Qué podemos sacar detrás de todo esto?


Después de toda esta verborrea muchos lectores pueden estar preguntándose qué conclusiones podemos sacar tras la presentación oficial de DX12 Ultimate. La realidad es que, sobre el papel, todos estos cambios son un paso hacia la dirección correcta para lo que será la clave de esta generación: el aprovechamiento de los grandes recursos de hardware con los que contará Xbox Series X y el futuro de Turing y RDNA2; pero, como con todo en este mundillo, sin el apoyo suficiente por parte de los desarrolladores, nunca podremos ver resultados afines.


DX12 Ultimate es un paso en la dirección correcta para aprovechar los recursos de Xbox Series XMicrosoft es consciente de esto, así como del valor que API como Vulkan y similares están adquiriendo entre los desarrolladores, y han respondido con contundencia: unificando herramientas para dos plataformas en las que tiene una presencia elevada. Dentro de poco podremos empezar a ver qué nos depara DX12 Ultimate de cara a los jugadores.


Más sobre: DirectX 12 Ultimate, Xbox Series X y Tecnología.