Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un paso más al fotorrealismo. Pero a pesar de todo el crédito que recibe el hardware por los avances en la tecnología gráfica, nada de lo que hemos visto hasta ahora hubiera sido posible sin los avances de software igualmente revolucionarios. Y quizás el avance de software más significativo de esta generación es el lanzamiento de Vulkan 1.0 especificación.
¿Qué es Vulkan??
"Vulkan es una API de gráficos y computación de nueva generación que proporciona acceso multiplataforma de alta eficiencia a las GPU modernas que se utilizan en una amplia variedad de dispositivos, desde PC y consolas hasta teléfonos móviles y plataformas integradas", describe esta nueva API su principal desarrollador, consorcio tecnológico sin fines de lucro Khronos Group, en su sitio web oficial.
El Grupo Khronos anunció Vulkan por primera vez en la Conferencia de Desarrolladores de Juegos en 2015, pero la base tecnológica sobre la que se encuentra Vulkan data de 2013, cuando AMD desarrolló originalmente Mantle, una API de renderizado de baja sobrecarga dirigida a videojuegos 3D, en cooperación con DICE y donada al Grupo Khronos para impulsar el desarrollo de Vulkan.
Vulkan es a menudo llamado "un sucesor espiritual de OpenGL" a pesar de que su filosofía es muy diferente. OpenGL y otras API de gráficos más antiguas se diseñaron cuando el fotorrealismo todavía era un sueño lejano, y las CPU y GPU de un solo núcleo representaban la vanguardia de la tecnología. A medida que mejoraba el hardware, OpenGL y sus equivalentes se han ampliado en numerosas ocasiones, lo que les permite ejecutarse en hardware moderno, así como en hardware que ahora es esencialmente obsoleto.
“El costo de este enfoque ha sido que el comportamiento de las GPU modernas está tan abstraído por la API que es difícil para la aplicación y el controlador conocer las necesidades del otro. El resultado es un rendimiento impredecible para la aplicación y una complejidad considerable en el controlador, ya que cada proveedor aplica diferentes optimizaciones de controlador en un intento de hacer que el software se ejecute rápidamente ”, explica Samsung.
Según Robert Hallock, director de marketing técnico global de AMD, la empresa quería llevar OpenGL, una interfaz de programación de aplicaciones multiplataforma, de alto nivel y en varios idiomas para renderizar gráficos 2D y 3D a un enfoque de bajo costo general. Como una "API explícita", Vulkan elimina la necesidad de controladores complejos y deja el control en manos de los desarrolladores de software y las aplicaciones y juegos que crean. Esto, a su vez, significa gráficos más agradables, mejores juegos en ejecución y tiempos de desarrollo más cortos.
Como funciona?
A diferencia de las API más antiguas como DirectX 11 y el OpenGL antes mencionado, que automatizan la asignación de memoria, la construcción de búfer de comando 3D y otros procesos en la GPU, Vulkan acerca a los desarrolladores de software mucho más al hardware básico, dándoles más control sobre el rendimiento, la eficiencia, y capacidades de sus productos de software.
Hallock dijo que los desarrolladores "realmente, realmente querían tener el control", y eso es exactamente lo que ofrece Vulkan: control y precisión. Debido a que Vulkan está diseñado para admitir hardware de gráficos actual, utiliza mejor las GPU multinúcleo y reduce los cuellos de botella de la CPU. Y a diferencia de DirectX 12, que fue anunciado por Microsoft en GDC en 2014, Vulkan es independiente de la plataforma, lo que significa que puede ejecutarse en todo, desde computadoras personales hasta consolas y teléfonos inteligentes, independientemente del sistema operativo.
¿Qué significa para los usuarios de Linux??
Hasta la llegada de Vulkan, la cantidad de juegos que los usuarios de Linux podían disfrutar era bastante limitada porque la mayoría de los desarrolladores de juegos dependían de DirectX, que no está disponible en Linux. Gracias a Vulkan, la cantidad de juegos AAA disponibles en Linux está creciendo rápidamente, y los derivados de Linux como Valve's SteamOS, un sistema operativo Linux basado en Debian de Valve Corporation, se han convertido en alternativas viables a las consolas tradicionales como Xbox o PlayStation.
Para disfrutar de Vulkan en Linux, es necesario poseer una tarjeta gráfica que admita esta nueva API, y también es necesario tener controladores gráficos actualizados instalados y configurados correctamente. En este momento, Steam ofrece, con mucho, la forma más conveniente de probar juegos basados en Vulkan, como The Talos Principle, Doom, Mad Max o Wolfenstein II: The New Colossus.
Según las pruebas de Phoronix, Vulkan permite una menor utilización de la CPU que OpenGL en los procesadores Intel Coffeelake de gama baja a gama alta, así como en los procesadores Ryzen de AMD. La menor utilización de CPU y soporte para Linux significa que los jugadores con presupuesto limitado pueden ahorrar una cantidad sustancial de dinero comprando un procesador menos costoso y no pagando por una licencia de Windows.
¿Qué significa Vulkan para el ecosistema del juego??
“Para los desarrolladores de aplicaciones premium, que dedican más tiempo a optimizar su software para la portabilidad y el rendimiento que en la creación de contenido básico, Vulkan debería reducir el tiempo de desarrollo general y mejorar la experiencia del cliente. Al mover más control a la aplicación, Vulkan reduce la cantidad total de trabajo que debe hacer la CPU y permite a los desarrolladores de aplicaciones tener un mejor control sobre cómo ocurre ese trabajo ”, afirma Samsung.
Últimamente se ha dicho mucho sobre el aumento del costo del desarrollo de juegos y las diversas formas en que los editores intentan compensarlo, por ejemplo, agregando bonificaciones por pedido anticipado y microtransacciones. Aunque Vulkan por sí solo no es suficiente para recuperar el aumento de los costos de desarrollo, podría permitir a los desarrolladores independientes brindarnos más experiencias AAA sin precios AAA, como la aclamada película de terror psicológico, acción y aventura Hellblade: Senua's Sacrifice.
El mayor grado de control que Vulkan brinda a los desarrolladores sobre el procesamiento de gráficos lo hace ideal para la realidad virtual, donde la baja latencia y las altas velocidades de cuadro son fundamentales para lograr la inmersión sin sentirse físicamente enfermo. De hecho, Khronos Group ha agregado Vulkan Multi-GPU y Virtual Reality Support a Vulkan API a principios de este año, dando un paso adicional hacia 16,000 x 16,000 píxeles por ojo a 200 cuadros por segundo, que muchos ven como el objetivo final de virtual realidad.
Conclusión
Vulcan es un gran paso adelante para los usuarios de Linux que están interesados en los juegos de computadora, y también es un gran paso adelante para todo el ecosistema de juegos, permitiendo a los desarrolladores de juegos crear juegos mejor optimizados en menos tiempo. Lo mejor de todo es que puede probar Vulcan ahora mismo; todo lo que necesita es Steam y una tarjeta gráfica lista para Vulcan.