Actualmente existen dos API principalmente para los videojuegos, como son Vulkan y DirectX. La más utilizada por los desarrolladores es DirectX, aunque cada vez son más los que apuestan por Vulkan. Si bien esencialmente ambas hacen lo mismo, existen diferencias en el funcionamiento de ambas. Veremos cuales son las diferencias técnicas principales entre ambas API y también, quienes apoyan cada una de ellas.
Primero, vamos a explicarte de manera rápida y sencilla qué es eso de API. Bueno, son las siglas de Application Programming Interface, que traducido es interfaz de programa de aplicación. Esencialmente, es un conjunto de código que permite que diferentes aplicaciones se comuniquen.
Si alguna vez has usado una aplicación de reserva de habitaciones de hotel o vuelos, has usado una API. Estas webs se comunican con los hoteles o aerolíneas para coger el precio y mostrártelo, y que compares y reserves.
Las API gráficas funciona similar. De manera muy resumida, sirven para que el sistema operativo y el motor gráfico (entre otros) se comuniquen e interactúen.
Vulkan o DirectX, ¿cuál es mejor?
Como hemos comentado, la función básica de estas API es la misma, pero tienen desarrollos diferentes. Debido a estas diferencias, tienen características y funcionalidades diferentes. Ambas tienen puntos fuertes y débiles, como cualquier software.
Pero antes de seguir, vamos a conocer un poco más a estas dos API gráficas:
Vulcan | DirectX | |
---|---|---|
Tipo | Software de programación de videojuegos | Conjunto de aplicaciones para desarrollo de videojuegos y multimedia |
Primera versión | Febrero de 2016 | Septiembre de 1995 |
Sistemas operativos compatibles | Windows, Linux, MacOS, Android y otros | Windows y Linux, aunque se está ampliando el soporte a otros |
Compatibilidad | Ordenadores, consolas y smartphone | Ordenadores y consolas |
Uso de CPU | Prioriza la baja carga en el procesador | Prioriza ofrecer el mejor rendimiento |
Desarrollado | Khronos con apoyo de AMD y otras empresas | Microsoft con apoyo de NVIDIA |
Esta tabla comparativa nos deja entrever, un poco, el motivo por el cual DirectX, siendo la API más antigua. Vulkan nace un poco de la necesidad de una alternativa y el poco desarrollo de OpenGL, una API totalmente de código abierto.
Hay muchas diferencias entre ambas soluciones que vamos a pasar a explorar a continuación
Características de DirectX
Ser propiedad de Microsoft y contar con el respaldo de NVIDIA es garantía de éxito. Hablamos del sistema operativo más usado en el mundo y el principal suministrador de tarjetas gráficas. Por si fuera poco, también cuenta con gran soporte por parte de Intel. Tener al principal sistema operativo, principal fabricante de tarjetas gráficas y principal fabricante de procesadores detrás, es éxito seguro.
Tener a estos tres gigantes te permite tener un desarrollo más robusto y ofrecer soluciones más especializadas. Además, suele ser la API precursora de grandes tecnologías como es el Ray Tracing para juegos. Esta tecnología, desarrollada por NVIDIA, ha contado con pleno soporte por parte de Microsoft.
Igual que cualquier otro software, la API DirectX tiene importantes puntos a favor, pero también problemas o desventajas. Estos son:
Ventajas | Desventajas |
---|---|
Es una API transversal, utilizándose no solo para el desarrollo de videojuegos, también para otras aplicaciones | El rendimiento con Linux y otros sistemas operativos es peor, ya que esta especialmente optimizada para Windows |
Totalmente compatible con todas las versiones de Windows y las consolas Xbox | Genera más carga en el procesador y consume mucha memoria RAM |
Acceso abierto a la documentación y recursos mediante registro en la web de Microsoft | No se pueden agregar elementos no permitidos por Microsoft o modificar el código fuente |
Suele adoptar antes nuevas tecnologías como Ray Tracing y DLSS | Utilizar DirectX comercialmente tiene un coste, ya que se deben pagar regalías |
Cuenta con el apoyo de Intel y NVIDIA | Puede presentar peor rendimiento en tarjetas gráficas y procesadores de AMD |
Características de Vulkan
Esta es una API más reciente, ya que surge una década después de la de Microsoft. Debes saber sobre Vulkan que no nace desde cero, sino que se basa en las librerías OpenGL. Son un conjunto de soluciones de código abierto que prometían bastante, pero estaban un tanto olvidadas.
Khronos Group se pone manos a la obra para crear una solución open source robusta y de calidad. Destacar que Khronos es una empresa sin ánimo de lucro y es financiada mayormente por empresas colaboradoras. La más destacada es AMD, quien desde un principio apoya este proyecto. Es un intento más de la compañía para ganar terreno en el sector de tarjetas gráficas.
Sin lugar a dudas la desventaja de Vulkan es el bajo soporte que le da NVIDIA en la actualidad. Esto hace que tecnologías como el trazado de rayos tarden un poco más en llegar y su rendimiento no esté tan optimizado. Por contra, se beneficia de los desarrollos de AMD, ya que tienen mejor integración con esta API.
Estas son las principales fortalezas y debilidades de esta solución:
Ventajas | Desventajas |
---|---|
Es una API multiplataforma y multisistema operativo, ofreciendo integración en Android y Linux, además de MacOS y Windows | Su presencia en juegos para Windows es muy inferior a la de DirectX por motivos obvios |
Tiene un menor consumo del procesador, así que es más eficiente | NVIDIA no suele dar buen soporte a los juegos que utilizan esta API, lo cual perjudica a Vulkan, ya que hablamos del principal fabricante de tarjetas gráficas gaming |
Cuenta con el apoyo de AMD y desarrolladoras como Rockstar, quien ha utilizado Vulkan para el desarrollo de Read Redemption 2 | Las últimas tecnologías suelen tardar un tiempo en implementarse, como es el caso del trazado de rayos |
Nace de una fusión de las librerías de OpenGL y AMD Mantle, por lo que tiene una sólida base detrás | Existe una cantidad de documentación más limitada debido a que el uso no esta tan extendido |
Las PS5 y Xbox Series X se basan en hardware de AMD, así que Vulkan tiene "acceso" a dos grandes plataformas de entretenimiento |
Conclusión
Quien tiene las de ganas es DirectX, ya que cuenta con el soporte de Microsoft, Intel y NVIDIA. Si bien AMD sigue insistiendo y apoyando el desarrollo de Vulkan, su crecimiento es muy lento, pero constante.
Algunos desarrolladores optan por usar Vulkan en la actualidad, mayormente, porque las consolas de Sony y Microsoft usan hardware de AMD. Debemos destacar que la Xbox Series X usa un sistema operativo basado en Windows, así que prioriza DirectX.
Realmente, cada una de estas dos API tiene sus fortalezas y debilidades, como hemos visto. Pero claro, quien tiene «más dinero» es quien termina ganando.