Vulkan en el Samsung Galaxy S7 es potencialmente un gran problema

La demostración de Samsung de todo lo que el Galaxy S7 y S7 edge serán capaces de hacer una vez que puedas tenerlos en tus manos fue tan impresionante como siempre. Sin embargo, como suele ser el caso con este tipo de cosas, quedan preguntas por responder. Cuando se trata de rendimiento y capacidades de juego, existe una buena posibilidad de que al menos un par de esas preguntas tengan que ver con que Samsung haya hecho que estos teléfonos sean los primeros con las API Vulkan integradas.

Hemos visto demostraciones de lo que Vulkan será capaz de hacer en entornos de escritorio, pero una gran pregunta que debe responderse es qué significa Vulkan para los propietarios de Galaxy S7 y S7 edge. Esto es lo que sabemos hasta ahora y lo que podemos adivinar que sucederá a continuación gracias a algunas personas muy inteligentes que trabajan con Vulkan y en la industria del juego.

Lo primero es lo primero, ¿qué es Vulkan?

Pregúntele a cualquiera que trabaje actualmente con OpenGL en juegos sobre la necesidad de algo mejor, y obtendrá la misma respuesta. Sí, ahora por favor.

Si bien se puede hacer mucho con las tecnologías actuales, brindar experiencias de juego en todas las plataformas es un gran desafío. Incluso con las personas adecuadas y los recursos adecuados, no es nada fácil. AMD buscó solucionar este problema con una tecnología que llamaron Mantle, pero en lugar de completar el proyecto pasó a trabajar en DirectX 12. Mantle fue donado al Grupo Khronos como un esfuerzo de código abierto para estandarizar la computación de bajo nivel y el renderizado en múltiples sistemas centrales de CPU.

Básicamente, el objetivo de Vulkan es facilitar la obtención de un mejor rendimiento de gráficos utilizando al máximo su procesador multinúcleo. Los subprocesos múltiples significan que Vulkan puede hacer lo que OpenGL ES no puede y el resultado final es un aumento general del rendimiento. Debido a que es un proyecto de código abierto respaldado por varios grupos pequeños, la primera versión pudo apuntar a múltiples plataformas simultáneamente. Android es una de esas plataformas, y ya hemos visto que varios fabricantes comienzan a trabajar de inmediato en formas de admitir Vulkan para los desarrolladores interesados ??en crear algo que se base en esas API.

Cuando nos sentamos con Sascha Willems, un desarrollador que ha estado trabajando con Vulkan durante bastante tiempo, señaló otro beneficio significativo de usar Vulkan.

La portabilidad es otra área que debería beneficiarse. Aunque OpenGL y OpenGL ES tienen mucho en común, aún debe realizar muchos esfuerzos de portabilidad y, por lo general, termina escribiendo renderizadores separados para ambos. Con Vulkan ese ya no es el caso. Lo único que es diferente es el código específico de la plataforma, como obtener una ventana de representación, pero eso se ha mejorado mucho con respecto a OpenGL (ES) con WSI (integración del sistema de ventanas) que es parte de Vulkan. Especialmente con dispositivos como NVIDIA Shield que ofrecen un rendimiento de GPU similar al de un escritorio, supongo que veremos más juegos de escritorio transferidos a Android gracias a Vulkan. Agregar compatibilidad con Android a mis ejemplos de Vulkan, por ejemplo, fue solo cuestión de minutos, y el código de representación es exactamente el mismo en Windows, Linux y Android.

Entonces, ¿por qué Samsung es el primero en llegar al mercado? Básicamente, Samsung utilizará Vulkan para cortejar a los desarrolladores y crear experiencias que compitan directamente con la afirmación de Apple de que los juegos son mejores en el iPhone. Al ofrecer esto antes que nadie, Samsung puede acercarse a los desarrolladores abiertamente en eventos como la próxima conferencia de desarrolladores de la compañía y obtener excelentes juegos que funcionan mejor en el Galaxy S7 y S7 Edge.

¿Es Vulkan una respuesta al Metal?

La mayoría de las personas que usan Vulkan en este momento están felices de comparar esta nueva API con lo que Apple ha hecho con su marco de rendimiento de bajo nivel, Metal. Si alguna vez has visto la forma en que Apple muestra Metal en el escenario, o usaste un juego creado con Metal en un iPhone en comparación con ese mismo juego en otro teléfono, sabes que la diferencia es significativa. Confiar en OpenGL ES para juegos 3D en un teléfono consume muchos recursos, lo que significa que su batería se agota más rápido para una experiencia inferior. Metal aborda eso a lo grande para Apple y, en teoría, Vulkan podría hacer algo similar para Android.

Hay mucho más que eso, como aprendimos al hablar con Brianna Wu, directora de desarrollo de Giant Spacekat. Como desarrolladora familiarizada con Metal y Vulkan, pudo ofrecer un poco de perspectiva.

Es justo llamarlos similares, ya que ambas tecnologías están tratando de resolver el mismo problema. Esta pila de OpenGL es insostenible, se escribió en una época con este paradigma de un solo núcleo y ya no funciona. El lanzamiento de Metal por parte de Apple tiene mucho sentido para ellos. La diferencia para Apple es que pueden ver una lista de controladores, una lista de GPU, una lista de pantallas y tienen mucho control sobre el hardware. Pueden traer a alguien para programar estas cosas en Asamblea, y es una forma sostenible de avanzar. Vulkan está tratando de resolver ese mismo problema en conjunto, pero es algo mucho más amplio que están tratando de implementar. Es un problema mucho, mucho más difícil de resolver, especialmente cuando no hay una corporación del tamaño de Apple que lidere esa tecnología.

En Android, ya hemos visto ejemplos de lo que habla Wu. NVIDIA y Samsung obviamente saltaron y anunciaron soporte para Vulkan a su manera, pero será hasta al menos la próxima versión de Android antes de que Google haya adoptado Vulkan ingenuamente en todo Android. Incluso cuando eso suceda, solo será para la versión más nueva de Android en el futuro. Una mirada rápida a los números de versión recientes de Google es toda la explicación que necesita de por qué esto llevará un tiempo para ser un potenciador de experiencia en toda la plataforma.

El soporte de Google no es el único desafío por delante. La adopción generalizada por parte de los desarrolladores es un desafío importante en cualquier plataforma. Como señaló Wu durante nuestra entrevista, Metal de Apple ha estado fuera durante bastante tiempo y la cantidad de juegos compatibles con el marco es bastante baja.

Es una de estas ideas la que realmente resuelve un problema, pero al menos en el lado de Apple, tenemos un largo camino por recorrer antes de que realmente resolvamos este problema de pila de OpenGL. Es, francamente, matar la plataforma.

Samsung espera abordar esto directamente, y ha tenido un éxito limitado con este enfoque con sus API de huellas dactilares y soporte de aplicaciones de múltiples ventanas, pero, al igual que Apple y Metal, pasará un tiempo antes de que veamos una adopción significativa.

¿Qué pasa con Vulkan y la realidad virtual?

La otra gran razón por la que Samsung está aprovechando la oportunidad de ser el primer fabricante con soporte Vulkan es el Gear VR. Samsung y Oculus han hecho un gran trabajo elevando la realidad virtual basada en teléfonos inteligentes por encima de la experiencia pasiva de Google Cardboard, pero la plataforma no está exenta de problemas de rendimiento. Dado que Oculus y Samsung actúan como miembros del Grupo Khronos, tiene sentido que ambas compañías alienten a los desarrolladores a respaldar esta nueva tecnología para continuar mejorando la experiencia Gear VR. De hecho, según Sascha, la realidad virtual es una gran parte de por qué Vulkan es tan importante en este momento.

La realidad virtual se basa en gran medida en una experiencia fluida con velocidades de cuadro estables y sin contratiempos. Vulkan ofrece mucho en esta área, por ejemplo, temporizadores de GPU y una mejor sincronización junto con subprocesos múltiples. Cosas como el micro tartamudeo son bastante comunes con OpenGL (ES) y difíciles de arreglar. Creo que esta es un área donde Android se beneficiará más. Vulkan es mucho más explícito que OpenGL ES y proporciona mucha más información sobre, por ejemplo, la canalización de renderizado a la GPU (y el controlador) por adelantado, lo que lo hace mucho más predictivo y, por lo tanto, más fácil para la GPU. Esto da como resultado mucho menos trabajo para el controlador y reemplaza la máquina de estado voluminosa (y difícil de predecir) de OpenGL.

Construir con Vulkan marcaría una gran diferencia en el contexto de Gear VR especialmente, y para los desarrolladores de juegos es una excelente manera de hacer más en esta forma de realidad virtual bastante limitada pero significativamente más accesible. Como desarrollador de juegos, el apoyo de Wu para que Samsung mejore el Gear VR con Vulkan no podría ser más claro.

Usar el Gear VR en este momento hace que el procesador funcione con tanta fuerza que agota mi batería en unos 50 minutos, y la latencia es realmente terrible. Si alguna vez ha habido un caso extremadamente convincente para que un estándar abierto como Vulkan entre en ensamblaje y realmente optimice esta capa gráfica, es este. No vamos a estar golpeando el vidrio para siempre, tienes que preguntar a dónde vamos. Construir VR y estas tecnologías 3D es absolutamente crítico. Si Samsung va a ser el tipo de caso de prueba aquí, esto es óptimo. Este es el lugar donde esa tecnología se necesita desesperadamente.

No hay duda de que esto será exactamente lo contrario de un aumento de rendimiento de la noche a la mañana, pero el potencial de Vulkan para abrir las puertas a mejores experiencias no podría ser más claro. Con el Galaxy S7 y S7 Edge, es un primer paso para Samsung hacia una nueva y poderosa experiencia de juego y realidad virtual y un buen momento para sobresalir por encima de la competencia y afirmar que llegaron primero.

Video:

Ir arriba