Si te encanta estar al tanto de las últimas tecnologías, debes haber oído hablar de Vulkan. La API de Vulkan es la última y más grande de las API de gráficos, anunciada por Khronos Group, que son las personas detrás del estándar actual de la industria OpenGL. El nombre del proyecto Vulkan se anunció oficialmente en la Game Developers 'Conference en 2015, y la primera versión de la API se lanzó en febrero de 2016. La nueva API tiene como objetivo llevar los gráficos de juegos al siguiente nivel, así que si estás interesado en la detalles, estamos aquí para dártelos.
Discutimos qué es Vulkan API, en qué se diferencia de su predecesor OpenGL y cómo Vulkan API podría cambiar la forma en que se desarrollan los juegos y otras aplicaciones de gráficos intensivos en un futuro próximo. Siga leyendo para explorar este emocionante desarrollo en el mundo del renderizado y los gráficos..
¿Qué es la API de Vulkan??
Hace un par de años, AMD mostró Mantle, una API mejorada que estaba dirigida a juegos 3D y, aunque se mostró prometedora al ser una solución más ágil para renderizar gráficos, AMD acabó con el proyecto. Luego, AMD le dio los componentes de la API de Mantle a Khronos Group para desarrollar una API estándar para renderizar. Bueno, el resultado es la nueva API de Vulcan.
La API de Vulkan es una API de renderizado de baja sobrecarga que puede utilizar mejor las CPU de múltiples núcleos que son omnipresentes en estos días y también proporcionará programas con acceso más directo a la CPU y la GPU del sistema. También es independiente del sistema operativo. Esto significa que las aplicaciones que utilizan la API de Vulkan serán fácilmente portables..
Siendo nosotros mismos ávidos jugadores y entusiastas de los juegos, decidimos echar un vistazo al futuro de cómo se desarrollarán los juegos pronto y cómo (si es que mejora) mejorará nuestra experiencia de juego..
Características
La API de Vulkan tiene muchas características que la hacen diferente y mejor que su predecesor OpenGL:
1. La API de Vulkan intenta equilibrar las cargas de procesamiento por igual entre todos los núcleos en un entorno de múltiples núcleos. Esto significa que todos los núcleos del procesador se utilizan, por lo tanto maximizando la eficiencia.
- Esto marcará una diferencia muy notable en la representación de gráficos que requieren muchas llamadas de dibujo..
- Con las API heredadas, la CPU suele ser un cuello de botella. Sin embargo, Vulkan le da un uso tan bueno a las CPU multinúcleo, que es más probable que se encuentre un cuello de botella en la GPU..
2. La API de Vulcan ofrecerá acceso directo a la GPU, lo que se asegurará de evitar gastos generales innecesarios al acceder a la GPU para llamadas de extracción y otras instalaciones de la GPU.
- Esto significa que los juegos más pesados ahora no consumirán tanta CPU como lo hacen actualmente. Además, los controladores desempeñarán un papel más pequeño al proporcionar acceso a la GPU, haciendo que la transferencia de información sea mucho más rápida..
3. La API también está diseñada para ser completamente multiplataforma.
- No más API de ramificación para móviles, computadoras de escritorio y consolas. La API de Vulkan será la misma en todos y cada uno de los dispositivos con una GPU compatible.
4. Si bien OpenGL mantuvo oculto el uso de la memoria de la GPU y la sincronización, Vulkan expone esto y ofrece a los desarrolladores aún mejor control sobre la GPU y como se usa.
- Vulkan permite a los desarrolladores controlar cómo la GPU formatea las texturas, administra la memoria y realiza la sincronización..
- Sin embargo, todavía oculta suficiente información para mantener compatibilidad multiplataforma.
5. Vulkan usa el Lenguaje intermedio SPIR-V para computación y gráficos en paralelo. SPIR-V, al igual que sus predecesores, SPIR1.2 y SPIR2.0, ha sido desarrollado por Khronos Group, con la diferencia de que SPIR-V no utiliza LLVM. SPIR-V permite a Vulkan tener un compilador front-end común en cada plataforma. Los desarrolladores tampoco necesitan enviar el kernel, el código de sombreado y la implementación del controlador se simplifica.
Cómo Vulkan podría ayudarnos como usuarios finales
La API de Vulkan, cuando los desarrolladores la implementan en todo su potencial, puede mejorar drásticamente la experiencia de juego del usuario final (¡somos tú y yo!). Pensar gráficos a nivel de consola en dispositivos móviles, tal vez incluso gráficos de escritorio para buques insignia de gama alta con procesadores competentes!
1. Dado que la mayoría de los SoC móviles en estos días también son multinúcleo, Vulkan utilizar los procesadores al máximo posible, haciendo que los juegos sean más fluidos (FPS más alto).
2. Además, dado que Vulkan proporciona un acceso de baja sobrecarga a la GPU del dispositivo, significa que los juegos ahora podrán reducir el tiempo necesario para acceder a los recursos de la GPU en gran medida. Una vez más, esto se traduce en mejores gráficos a cuadros más altos por segundo por aprovechando al máximo las capacidades de la GPU.
3. Si bien es posible que las capacidades multiplataforma, facilitar la portabilidad de los juegos no lo afecten directamente como usuario final, sí significa que su favorito Los juegos y las aplicaciones con uso intensivo de gráficos podrían estar disponibles en casi todas las plataformas. allí afuera. Las posibilidades son infinitas y limitadas solo por nuestra imaginación..
4. Los juegos también podrán garantizar rendimiento más suave asegurándose de que la GPU preste más atención (léase: asigna más memoria y da preferencia a) a las cosas que son inmediatamente visibles para el usuario, lo que hace que el juego sea más inmune a los retrasos y las caídas de fotogramas.
Opciones para desarrolladores
Si bien una API para gráficos de bajo nivel y baja sobrecarga es sin duda una buena idea, no es una atracción obvia para todos los desarrolladores, especialmente para los nuevos. Programar en un nivel más bajo, más cercano al hardware, requiere bastante más destreza que programar en un nivel superior, que es más abstracto. Esto no es de ninguna manera una sorpresa. Es bastante obvio, y es exactamente por eso que los desarrolladores tendrán tres opciones diferentes sobre cómo utilizar Vulkan para sus proyectos de desarrollo..
1. Utilice la API de Vulkan directamente
- Esto proporcionará el acceso de nivel más bajo al hardware y, obviamente, no será una opción para todos. Sin embargo, este nivel se puede utilizar para crear herramientas de evaluación comparativa para otras aplicaciones desarrolladas con Vulkan..
2. Utilice bibliotecas
- Posiblemente la opción más viable para los desarrolladores que están haciendo la transición de OpenGL a Vulkan..
- La mayoría de las bibliotecas serán de código abierto, por lo que los desarrolladores que tienen experiencia en el desarrollo con OpenGL pueden intentar portar sus aplicaciones OpenGL a la API de Vulkan con relativa facilidad, en lugar de tener que hacer una revisión completa o comenzar desde cero..
3. Utilice motores de juego optimizados con Vulkan
- Estamos seguros de que aquí es donde entrarán la mayoría de los desarrolladores. Los motores de juego están diseñados y desarrollados por pesos pesados de la industria bien establecidos y experimentados y pueden ser utilizados fácilmente por desarrolladores (tanto experimentados como principiantes) para crear juegos que aprovechen las ventajas. ofrecido por la API de Vulkan.
- Desarrolladores como Epic Games (Unreal Engine) y Unity (Unity Engine) ya han anunciado el soporte de Vulkan en sus próximos motores, y muchos más han anunciado planes para seguir..
VER TAMBIÉN: Comprensión de APFS: el nuevo sistema de archivos de Apple
Emocionarse!
En caso de que el artículo no te haya convencido… ¡anímate! ¡Ahora! Vulkan promete ser el tipo de desarrollo innovador en API de gráficos que mejorará nuestra vida de juego. Ya existen videos de comparaciones entre el rendimiento de Vulkan y OpenGL, y los resultados son, simplemente, sorprendentes. Si estos videos son una indicación, prepárese para experimentar una calidad de gráficos increíble en todas partes, incluidos sus teléfonos móviles, todo gracias a la llegada de la API de Vulcan.!
Entonces, ¿qué opinas de Vulkan? ¿Crees que será una gran mejora con respecto al estándar OpenGL actual? Háganos saber en la sección de comentarios.