AMD ha abierto el c贸digo fuente de V-EZ, una plataforma Vulkan API multiplataforma de bajo nivel

Las API de Vulkan son interfaces de software multiplataforma de bajo nivel que proporcionan un mayor rendimiento de gr谩ficos 3D debido a costos m谩s bajos en comparaci贸n con otras API como OpenGL, especialmente con funciones especiales de GPU (la API tambi茅n es adecuada para renderizado 2D). Con una implementaci贸n adecuada, Vulkan proporciona "un aumento de velocidad marginal a polinomial en comparaci贸n con otras API en el mismo equipo".

El desarrollador del Grupo Khronos present贸 la API de Vulkan en la conferencia GDC 2015, y el primer lanzamiento fue en febrero de 2016. Inicialmente, la API de Vulkan se llamaba "la pr贸xima generaci贸n de OpenGL" o simplemente glNext, pero luego el nombre se cambi贸 a Vulkan.

Muchos esperaban ansiosamente el lanzamiento de esta tecnolog铆a revolucionaria, que acelera en gran medida los gr谩ficos 3D y reduce la carga en el procesador, como Direct3D 12, Metal y Mantle. Pero el problema era que la API de Vulkan requer铆a mucho m谩s trabajo del desarrollador, mientras que las API de nivel superior como OpenGL y DirectX 11 simplificaban muchas cosas, como la administraci贸n de memoria. Para ayudar a trabajar con Vulkan, AMD ha desarrollado una capa de envoltura y abstracci贸n V-EZ, y ahora ha publicado el c贸digo fuente de esta herramienta bajo la licencia gratuita de MIT ( repositorio de GitHub ).

Inicialmente, V-EZ se lanz贸 en marzo de 2018 con fuentes cerradas, ahora esta restricci贸n se ha eliminado.


API de Vulkan

V-EZ es un nivel intermedio (middlware), que asume muchas funciones auxiliares durante el desarrollo, por lo que el desarrollador no necesita conocer de inmediato y manejar manualmente todas las complejidades de Vulkan, V-EZ har谩 muchas cosas por s铆 mismo. El shell auxiliar usa la misma sem谩ntica que la API de Vulkan, es decir, se puede usar como una especie de herramienta de entrenamiento. Comenzando con V-EZ, los desarrolladores pueden acostumbrarse gradualmente a 茅l y, finalmente, pasar a usar Vulkan directamente. Tambi茅n significa que, en muchos casos, la documentaci贸n de Vulkan es aplicable a V-EZ.

Ventajas de Vulkan sobre las API de generaciones anteriores:

  • Vulkan API es muy adecuado para tarjetas gr谩ficas de alta gama y para equipos gr谩ficos en dispositivos m贸viles.
  • A diferencia de Direct3D 12, Vulkan est谩 disponible en muchos sistemas operativos modernos, no est谩 vinculado a ning煤n sistema operativo o factor de forma. Desde el principio, las API de Vulkan funcionan en Android, Linux, Tizen, Windows 7, Windows 8 y Windows 10, hay soporte de terceros para iOS y macOS.
  • Reducci贸n de la sobrecarga del controlador, reducci贸n de la carga de CPU.
  • Reducci贸n de la carga en la CPU mediante el uso de procesamiento por lotes.
  • Mejor escalamiento para procesadores multi-core.
  • OpenGL utiliza el lenguaje de alto nivel GLSL para escribir sombreadores, lo que obliga a cada controlador OpenGL a implementar su propio compilador para GLSL, que se ejecuta en tiempo de ejecuci贸n para traducir los sombreadores del programa en el c贸digo de m谩quina GPU. En cambio, los controladores Vulkan deber铆an aceptar sombreadores ya convertidos al formato binario intermedio SPIR-V, similar al formato binario en el que los sombreadores HLSL se compilan en Direct3D.
  • Gracias a la compilaci贸n preliminar de los sombreadores, la velocidad de inicializaci贸n de las aplicaciones aumenta y para cada escena puede usar una mayor cantidad de sombreadores. Un controlador solo necesita cierta optimizaci贸n de GPU y generaci贸n de c贸digo, lo que simplifica el mantenimiento del controlador y reduce su tama帽o.
  • Gesti贸n unificada de n煤cleos inform谩ticos y sombreadores gr谩ficos, eliminando la necesidad de utilizar una API inform谩tica independiente en combinaci贸n con una API gr谩fica.



Capa intermedia V-EZ

Aunque el creador de la API de Vulkan es el Grupo Khronos, la tecnolog铆a se basa en la API Mantle, que AMD don贸 al Grupo Khronos. La idea era crear una tecnolog铆a m谩s avanzada que no estuviera vinculada a un fabricante espec铆fico, de modo que pudiera adoptarse como un est谩ndar de la industria generalmente reconocido, como OpenGL. Por lo tanto, AMD ahora est谩 ayudando a avanzar la API de Vulkan y est谩 creando herramientas de soporte como V-EZ.

Requisitos de instalaci贸n para V-EZ


  • Windows 7 de 64 bits, 8.1, 10
  • Linux de 64 bits (probado en Fedora y Ubuntu)
  • Visual Studio 2015 o posterior
  • GCC 4.9 o posterior
  • CMake 3.8 o posterior
  • LunarG Vulkan SDK 1.1.70

V-EZ no est谩 vinculado a un proveedor espec铆fico y deber铆a funcionar en equipos que no sean AMD.

Los creadores de V-EZ esperan que la publicaci贸n del c贸digo fuente bajo una licencia gratuita contribuya a una mayor popularidad del shell V-EZ y, en consecuencia, de las nuevas interfaces de programaci贸n de bajo nivel. A su vez, esto ayudar谩 a los desarrolladores a adoptar nuevas API, lo que conducir谩 a un mejor rendimiento del juego y a m谩s juegos multiplataforma.

Actualmente, Vulkan es compatible con varios motores de juego, incluidos Source 2, Serious Engine 4, Unreal Engine 4, Torque 3D, id Tech 3, id Tech 4, id Tech 6, Xenko, Unity, CryEngine, Intrinsic, Unigine, Abyss Engine , Banshee 3D y Godot.

Source: https://habr.com/ru/post/es421361/


All Articles