Microsoft anuncia DirectX 12
Y funcionará en Xbox One.
Microsoft ha respondido a la tecnología Mantle de AMD anunciando su nueva API DirectX 12. PCs, tabletas, smartphones y Xbox One se beneficiarán de esta tecnología, la cual promete liberar recursos de la GPU al tiempo que ofrece a los desarrolladores acceso a bajo nivel y un mayor control del hardware gráfico. Para demostrar la naturaleza multiplataforma de DirectX 12, se ha enseñado Forza Motorsport 5 funcionando en un PC con una tarjeta gráfica Nvidia.
Aunque las características generales de DX12 parecen claramente una respuesta directa a la iniciativa Mantle, Nvidia asegura que empezó a hablar con Microsoft al respecto hace cuatro años, empezando a trabajar de forma directa en la API el año pasado. La propia Nvidia ha proporcionado un driver inicial que permite a los desarrolladores empezar a usar la nueva tecnología. En teoría cualquier tarjeta gráfica DX11 funcionará con DX12, y Nvidia confirma que cualquier GPU de la serie 400 Fermi en adelante debería funcionar sin problemas.
La demo de Forza 5 fue la estrella de la presentación, diseñada para demostrar cómo es posible alcanzar la eficiencia de una consola en un PC. Curiosamente, según Nvidia la demo funcionaba en una Titan Black - la tarjeta con un solo chip más potente del mercado, y seguramente un hardware poco indicado para ilustrar un supuesto port eficiente de consola. Según Turn 10 la conversión de la API DX11.x de Xbox One a una versión alpha de DX12 costó cuatro meses, con algunas características de la API de consola migrando al PC mientras que otros elementos - como "pipeline state objects" y el "resource binding model" darán el salto a Xbox One.
¿Cuáles son las ventajas clave que aporta? Básicamente el hardware gráfico se ha vuelto cada vez más potente con el paso de los años, pero sigue estando guiado por la CPU, donde la potencia de cada núcleo no ha aumentado de forma masiva y donde los procesadores de varios núcleos no se usan de forma eficiente para alimentar con datos y órdenes a la GPU. DX12 cambia eso de una forma muy similar a lo que hemos visto en el Mantle de AMD. Para ilustrar la reducción del peso de la CPU, Microsoft ha hecho un port del benchmark 3DMark a DX12, donde se aprecia una mejora de hasta el 50%.
"A nivel básico DX12 parece hacer algo muy parecido al Mantle de AMD - reduce el overhead de la CPU y ofrece a los desarrolladores acceso de bajo nivel al hardware de la GPU."
Cómo se trasladará la ventaja de DX12 a Xbox One sigue siendo un misterio. Sabemos que la API DX11.x existente que se usa ahora es esencialmente muy similar a la versión de PC, con extensiones adicionales para utilizar la ESRAM, los Move Engine y otro hardware de la nueva consola. El tiempo de CPU es un recurso muy preciado en la consola de nueva generación, así que el ahorro en eficiencia sería bienvenido, pero sospechamos que es el acceso de bajo nivel al hardware el factor clave para extraer mayores niveles de rendimiento de la consola.
Aunque Nvidia tenía un papel destacado en la presentación de la GDC, representantes de AMD, Intel y Qualcomm también pidieron apoyo para la nueva API en ella, y se espera que se utilice en los títulos más importantes de finales de 2015 - sí, dentro de más de un año (aunque parece que se prepara una especie de acceso anticipado). Si utilizas un PC moderno no deberías tener ningún problema para que DX12 funcione en tu hardware; la única pregunta es si Microsoft apoyará Windows 7 con él, algo que no ha hecho con el último DX11.2, ampliamente ignorado por la mayoría de desarrolladores (excepto DICE).
En general parece que Microsoft finalmente ha respondido a la petición de los desarrolladores de videojuegos para solucionar algunas de las quejas con DirectX 11, pero con todo el tiempo que falta para que realmente llegue la nueva API está claro que el Mantle de AMD tiene tiempo para seguir ganando apoyos, mientras Valve apoyará a OpenGL como su API gráfica preferida. Hasta hace poco el futuro de DirectX parecía turbio, pero DX12 podría anular la relevancia de Mantle al hacer más o menos el mismo trabajo. Del mismo modo, si el desarrollo para consolas sigue dominando y Mantle demuestra su valía en otras áreas, bien podríamos estar ante un futuro con dos APIs, con versiones para PC basadas en Mantle derivadas de las optimizaciones para PS4, junto a versiones DX12 diseñadas principalmente con Xbox One en mente.