DirectX 12 es un motor V8 con la mitad de peso
Más historias en la categoría Editorial
- ¿Necesitamos más juegos de Transformers? Rotundamente, sí
- Los Remakes y Remasters se han posicionado en la industria ¿son realmente necesarios?
- 343 Industries estaba destruyendo Halo y no lo sabíamos
No te pierdas nada y ¡Síguenos en Google News! |
Volvemos a conocer detalles e impresiones sobre DirectX 12 de mano de algunos desarrolladores, en esta ocasión Dan Braker de Oxide Games nos habla sobre la API.
Cada vez se espera con más ganas la nueva versión de DirectX 12 tanto para Windows 10 como para Xbox One; esta nueva versión de la API va a mejorar notablemente el rendimiento de los juegos en diferentes tipos de hardware; de hecho esta siempre fue la meta de Microsoft al crear estas herramientas. En palabras del propio Matt Ployhar, desarrollador de Intel que trabajó directamente en el equipo de DirectX de Microsoft, podemos leer lo siguiente:
Aquí hay cuatro buenos ejemplos de DirectX 12 para un desarrollador de juegos que quiere entrar en el meollo de la cuestión. Se puede aumentar la escala del juego, se puede ampliar el framerate, puedes aumentar la escala de tus mallas – más unidades, más personajes y polígonos en escena mayores , puedes crear ambientes más ricos y amplios.
Mientras, Microsoft emplaza a todos los interesados en conocer más acerca estas herramientas a su próximo evento Build que será a finales de este mes, además nos deja inscribirnos en un programa preview de DirectX12 que ya está disponible; aunque solo sirve para ver la documentación y hacer pruebas no siendo el resultado final a utilizar. Sin embargo es bueno para aquellos en esta nueva API.
Ya hay varios desarrolladores que están empezando a implementar las nuevas herramientas a sus juegos aún en esta temprana edad. Es el caso de Dan Braker, socio fundador de Stardock y Oxide Games; creadores del motor gráfico Nitrous Engine. Braker realiza varias comparaciones a la hora de hablar de DirectX 12 dándonos una idea de como se va a comportar la API en hardware modesto.
Las comparaciones físicas entre el software y el hardware son peligrosas pues arrojarían muchos resultados diversos, aunque en en este caso intentaré usar una analogía. Imagínese que usted compra un coche deportivo, que tiene un gran motor V8 sobrealimentado con 500 caballos de fuerza, y pesa 4.500 libras. Cuenta con una transmisión totalmente automática, control de estabilidad, asientos con calefacción, sistema estéreo grande, navegación, etc. Vamos a llamar a este coche DirectX 11. Podría ser un coche de calle muy bonito, pero si le das esto a un piloto de carreras profesional va a odiarlo porque en conjunto es lento.
Ahora imagine el mismo motor V8, pero está en un coche de tan solo 2500 libras de peso. Es una transmisión manual, carece de algunas cosas como asientos con calefacción y todos los otros artículos de lujo que añaden peso. El coche es técnicamente más difícil de llevar a su máximo potencial, pero no importa porque es ridículamente rápido y además tenemos a un conductor profesional de todos modos.
Esta es una analogía relevante para los cambios que se han hecho entre DirectX11 y DirectX12. Ciertamente, a algunos estudios les resultará más difícil tomar ventaja de lo que ofrece DirectX12. Pero para muchos de nosotros, y para muchos de los grandes juegos que los jugadores esperan, veremos grandes mejoras en el rendimiento y la consistencia.
Asimismo Dan Braker también habla sobre los desafíos a los que se están enfrentando al usar una versión tan temprana de la API en la creación de su juego Ashes of the Singularity. Parece que por el momento la migración entre ambas herramientas no es un camino tan sencillo en estos momentos.
Tuvimos problemas muy mínimos en movimiento con DirectX 12. En muchos sentidos, el soporte sobre DirectX 12 es más simple que el de DirectX 11 aunque ciertamente escribimos nuestro código sobre DirectX 11 primero y hemos pasado una gran cantidad de tiempo en la optimización (más de lo que tenemos con cualquier otra API).
La razón de esto es que DirectX 12 en realidad no es un API difícil; lo que es difícil es un cambio en el motor asíncrono. Al igual que muchos estudios se han centrado en la nueva generación, nosotros hemos invertido fuertemente en varios núcleos y diseño asíncrono. DirectX 11 es un desajuste con este tipo de arquitectura. Con Nitrous Engine muchas funciones quedaban discapacitadas cada vez más por los problemas de arquitectura a nivel de API y conductor. Es decir, mientras que nuestro motor podría manejarse a un alto rendimiento, la API no podía.
Con DirectX 12, este no es el caso. Tenemos incluso mejoras de rendimiento en frames lentos y los frames rápidos. Por lo tanto, hace que alcances un alto rendimiento mucho menos costoso. Para muchos proyectos, hay un punto de inflexión en el que si tu juego es lo suficientemente complejo, en realidad es más barato usar DirectX 12 que DirectX 11 en algunos casos por un amplio margen.
DirectX 12 nos permite pasar más tiempo preocupándonos por el diseño del juego que de las restricciones de la API. No hay nada más frustrante que ir a una reunión con el diseñador y decirle que su diseño es grande, pero no puedes hacerlo debido a problemas generales de controladores.
Cada vez parece más claro las intenciones de Microsoft con DirectX 12, acercar un desarrollo rápido y barato con un mejor aprovechamiento de cada hardware. Estas primeras versiones solo llevarán cambios a nivel de software y se espera que en el futuro se vayan incluyendo mejoras para hardware más específico.