Un poco sobre la API Vulkan

Con el ingreso de DirectX R otras API se han quedado algo atrás en cuanto a implementar funciones como el trazado de rayos, donde Microsoft parece haber tomado cierta ventaja con la implementación de Ray Tracing, pero los desarrolladores siguen apostando por una API como Vulkan, pero ¿qué es y cómo ayuda a mejorar el rendimiento en los juegos actuales y futuros?

Vulkan tienen un largo y extenso recorrido, pero sobre todo tuvo un inicio prometedor

Antes de conocer la historia de Vulkan como tal, sus mejoras o novedades y su implementación en los juegos actuales, hemos de entender qué es una API, principal pilar en el que se basa Vulkan para existir como tal.

Una API o Application Programming Interface (interfaz de programación de aplicaciones) es un conjunto de protocolos, definiciones y subrutinas que se utilizan para desarrollar e integrar software en las aplicaciones.

Una API permite que un producto y un servicio se comuniquen con otros adyacentes y/o complementarios, sin que tengan por qué conocerse ni saber sus características, ya que representan un método independiente en cuanto a capas en la programación del software.

Entendido esto, ahora podemos comprender el funcionamiento y desempeño de Vulkan como API, pero antes, vayámonos a sus orígenes.

La concepción de Vulkan como API se fraguó gracias a Khronos Group, los cuales simplemente querían mostrar una iniciativa alternativa y basada en OpenGL para la nueva generación. Inicialmente referida como la “next generation OpenGL initiative,” o “OpenGL next“, pero el uso de esos nombres se descontinuó una vez el nombre Vulkan fue anunciado. Sin embargo, la definición de esta nueva versión de OpenGL enfocada en eficiencia y acceso a bajo nivel se encontraba muy estancada.

Todo el trabajo estaba dado en dos razones fundamentales:
• Desde la concepción inicial de OpenGL a inicios de los 90 por Silicon Graphics, el pipeline gráfico había cambiado muchísimo y OpenGL estaba muy enrevezado, siendo parcheado y extendido para soportar nuevas tecnologías. Esto dificultaba las implementaciones, estandarizaciones y actualizaciones.
• Las capas de abstracción estaba limitando también al rendimiento.

AMD estaba interesada en adoptar un nuevo enfoque para una API de gráficos que definiera el futuro de los videojuegos y su implementación. Por ello, los de Lisa Su crearon Mantle, una API que tenía como principales ventajas la capacidad de control total del rendimiento del sistema a bajo nivel, bajo costo, mejor eficiencia y capacidad de controlar múltiples núcleos de la CPU. Esto también provocó que Microsoft presentara y acelerara el desarrollo de DirectX 12 con los mismo objetivos.

En este punto los caminos de AMD y Khronos Group se cruzaron, donde la primera le cedió el código a la segunda con la intención de tener una nueva base para desarrollar la API de bajo nivel. Además, con la condición de desarrollar un estándar abierto similar a OpenGL, pero muy mejorado. Ahí nació Vulkan como API de bajo nivel, la cual fue lanzada al mercado y a disposición de todos el 16 de febrero de 2016.

Heredando lo mejor de Mantle y comenzando un camino tan brillante como duro de seguir

Aunque es cierto que Mantle fue desarrollado por AMD y por ello para su hardware de forma específica, Vulkan supuso un cambio de paradigma y una amplitud de miras hacia cualquier hardware actual, por lo tanto es multiplataforma y totalmente compatible con Windows 7, Windows 8, Windows 8.1 y Windows 10, aparte por supuesto de ofrecer compatibilidad con Linux (y Android) mediante los drivers de cada tarjeta gráfica. También en macOS puede ser utilizada, si bien mediante un wrapper Metal-Mantle, pues Apple decidió solo dar soporte a su API Metal.

Como parte del desarrollo de AMD, Vulkan fue la primera en implementar el soporte para computación asíncrona, lo cual permitía unas cargas de trabajo paralelas al renderizado 3D común, que hasta ese momento debían realizarse en una cola secuencial.

El camino de esta API le ha llevado a mejorar la reducción de la carga sobre el driver, y por lo tiempo optimizando las llamadas Draw Calls a la CPU, lo cual libera a esta última de cargas de trabajo y permite que empuje más el rendimiento del juego en cuestión. Esto es beneficioso fundamentalmente para CPU más débiles.

Gracias a Mantle fue la primera API con un escalamiento muy mejorado de la CPU, donde se ofrece actualmente hasta soporte para 8 núcleos y 16 hilos de forma simultánea, estando al nivel de DirectX 12 en este aspecto. En cuanto a las GPUs, es capaz de administrar los GPUs para cómputo junto con gráficos, no teniendo que utilizar una API de alto nivel para los cálculos más complejos.

Con respetco al RayTracing, si bien en su versión actual no esta incluido su soporte estándar, mediante extensiones, que permiten emplear capacidades propias de cada fabricante o hardware que aún no estén estandarizadas, puede emplear la implementación RTX de NVIDIA. Un ejemplo importante de esto es el Quake II RT.

Los otros equivalente a Vulkan son DirectX 12 de Microsoft y Metal de Apple. El primero solo funcional en Windows, el segundo solo en macOS e iOS.

El primer juego AAA en emplear Vulkan fue en el Doom (2016), gracias a estar basado inicialmente en OpenGL, y donde se pudo apreciar un gran salto en el rendiminto. Su motor de juego, el idTech 6 se empleó por igual en Wolfenstein II: The New Colossus, pero aquí se empleó ya única y exclusivamente el API Vulkan lo que se retribuyo requisitos de hardware menores para una misma calidad gráfica y mejor rendimiento. Muchos motores de juego/gráfico soportan Vulkan y lo ponen a disposición de los desarrolladores.

Como podemos ver, Mantle primero y Vulkan después han marcado el camino de los juegos actuales, donde ahora todas las API poseen acceso de bajo nivel e implementan mejor escalabilidad con el hardware actual.

9 respuestas a «Un poco sobre la API Vulkan»

  1. Maik xd con amd

    tecn.cubava.cu:

    100% noticias de AMD

    50% Noticias de tecnología y Moviles

    25% Noticias de Videojuegos

    10% noticias de Nvidia

    Maik en cualquier momento los de AMD te contratan!! jaja

    1. douglas, este año, y mas desde mediados, lo mas resaltante en TODOS los sitios ha sido AMD, gustete o no. puedes fajarte con: muycomputer, elchapuzasinformatico, hardzone, anandtech, guru3d, etc, para que publiquen mas y mejores noticias sobre esto, o con el mundo para que existan las noticias que deseas.

      si pusiera la misma cantidad de los que hay de por ejemplo INTEL, unos poquisimos son “buenos”, el resto es pura critica. prefieres eso? estos dias ultimos lo unico que ha salido de intel es
      -posibilidad de no sacar 10nm en CPUs para escritorio el proximo año, pero despues dijeron que si
      -que para contrarestar las ganancias de mercado que esta teniendo AMD en CPU casi que lo unico que tiene disponible es 3000 millones de USD, ya sea para absorver costes bajando precios en sus CPUs (a los HEDT nuevos les bajaran casi un 50%), o para incentivos a los fabricantes o para comerciales
      -que parece que los de escritori nuevos se quedan en potencia total algo detras de los de AMD
      no los he puesto para que los inteleros no se sientan mal

      -de NVIDIA, lo unico que casi viene las 1650ti y la 1660 super, pero esto se sabe desde articulos anteriores, cuando salgan pongo toda la info. la mayor cantidad de noticias de nvidia fue hasta algfo asi como Abril, desde entonces casi no hay nada de salida oficial

      creeme que incluso he aguantado algunas sobre mas records mundiales de rendimiento de AMD. prefieres mas asi?

      venga, si puedes, has una enumeracion de que ha sido noticia ese año para cada uno de los que mencionas, hazlo tu mimso, sal a buscarlas, y llegaras a una conclusion

  2. actualmente estoy jugando el Wolfenstein New Colosus II de 2017. corre sobre vulkan y lo hace muy bien. creo que lo tengo en el que esta debajo de Mein Leben y casi siempre en los 60 fps.
    claro hice una “pequeña” reforma en la pc…

      1. el youngblood lo corri en lo ultimo mein leben con 4 gb, por arrbia de 60 fps todo el tiempo. dx12 o vulkan no salia el osd del msi aft
        nicanor cuentanos de tu reforma a la pc

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *