La primera edición de la Game Developers Conference en el año nos ha dejado muchas cosas, pero una de las más importantes es DirectX 12. La última versión mayor del API fue lanzada en octubre de 2009, y como era de esperarse, los desarrolladores quieren obtener todos los detalles que sea posible. ¿Lo mejor de la velada? Nada menos que la programación gráfica de bajo nivel en Direct3D 12.
La idea de que un desarrollador pueda programar “más cerca del metal” ha existido por años. En ese tiempo surgieron diferentes argumentos a favor y en contra del proceso, pero lo que era un debate clásico entre expertos se transformó en un tema de muy alto perfil tras el anuncio del API Mantle por parte de AMD. Algunos benchmarks son más que contundentes… pero lo cierto es que no todo reluce en Mantle, y entre sus bordes más filosos se encuentran los requerimientos de hardware (Graphics Core Next) y la ausencia de soporte para consolas. Por supuesto, también está DirectX. A pesar de los beneficios que entregan sus últimas versiones, el sentimiento general es que DirectX 9 estableció cierto techo artificial para el API. Recuerdo perfectamente el caso de Crysis y los hacks de los entusiastas para obtener una calidad gráfica en Windows XP (con DirectX 9) idéntica a la que estaba disponible bajo el combo DirectX 10/Windows Vista. Algunas compañías se resistieron bastante a las versiones superiores de DirectX (como fue el caso de Valve) pero con la Game Developers Conference finalizada, Microsoft espera cambiar un poco la historia, y responder mejor a las necesidades de los desarrolladores a través de DirectX 12.
Lo primero que debemos entender sobre DirectX 12 es que se encuentra bastante lejos en el calendario. Lo único parecido a una fecha que ha revelado Microsoft es “Navidad 2015”, y si los cálculos no nos fallan, Windows 9 ya debería ser un hecho para ese entonces. En lo referente a hardware, el gigante de Redmond no dio indicios de que exista algún drástico prerrequisito a cumplir. Nvidia confirmó el jueves pasado que todas sus tarjetas gráficas compatibles con DirectX 11 tendrán soporte DirectX 12, incluyendo a las arquitecturas Fermi, Kepler y Maxwell, y lo mismo publicó AMD en el caso de sus placas basadas en Graphics Core Next. Otro aspecto interesante es que DirectX 12 no estará limitado a PCs, y lo más probable es que lo veamos en acción sobre la Xbox One y dispositivos móviles. Si existe un punto de preocupación, es el soporte entre los sistemas operativos. Windows 7 tiene más del 50 por ciento del mercado, y no se esperan cambios bruscos para el año que viene. Si por algún motivo Microsoft decide que DirectX 12 no esté disponible en Windows 7, estaría generando otro incidente similar al de DirectX 10, cuando se negó a “bajarlo” a XP.
Eventualmente llegamos a la programación de bajo nivel en Direct3D 12. Las demandas en consumo de energía, eficiencia y recursos para los desarrolladores están forzando un giro hacia el concepto de “hacer más con menos”, y para lograrlo, la programación de bajo nivel es crítica. En esencia, lo que busca Direct3D 12 es reducir el “overhead” del CPU (reduciendo así su utilización), y más allá de las diferencias técnicas, esto coloca a DirectX 12 sobre el mismo campo de juego en el que se encuentra Mantle. Las reacciones de los desarrolladores han sido muy interesantes: Jason Mitchell de Valve quiere más información sobre las versiones de Windows que recibirán a DX12. Richard Matthias de Ninja Theory destacó la necesidad de un mecanismo de extensión adecuado, para que el API no pierda terreno frente a otras alternativas. Francois Piednoel de Intel adelantó que DirectX 12 demandará mayor rendimiento de un sólo hilo para alimentar más rápido al GPU. Bobby Anguelov de Ubisoft celebra la ausencia de requerimientos específicos de hardware y el soporte para Xbox One, y Cort Stratton de Naughty Dog se limitó a decir que era “familiar”, probablemente en referencia a Mantle.
Será cuestión de tiempo para que Microsoft permita a los desarrolladores obtener un acceso más profundo a DirectX 12, y comiencen a surgir demostraciones públicas. Tanto las dudas como el sarcasmo de algunos desarrolladores ya se encuentran flotando en la Web, pero el sentimiento general hacia DirectX 12 es de entusiasmo. ¿Y tú qué opinas? ¿Crees que DirectX 12 dará el gran salto que todos esperan? Los comentarios están abiertos.