Logo es.androidermagazine.com
Logo es.androidermagazine.com

Vulkan en el Samsung Galaxy S7 es potencialmente un gran problema

Tabla de contenido:

Anonim

La demostración de Samsung de todo lo que el Galaxy S7 y S7 edge serán capaces de hacer, una vez que pueda tenerlos en sus 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, hay una buena posibilidad de que al menos un par de esas preguntas tengan que ver con Samsung haciendo de estos teléfonos los primeros con las API de Vulkan a bordo.

Hemos visto demostraciones de lo que Vulkan eventualmente será capaz de hacer en entornos de escritorio, pero una gran pregunta que necesita respuesta es qué significa Vulkan para los propietarios de Galaxy S7 y S7 edge. Esto es lo que sabemos hasta ahora, y lo que podemos suponer que sucederá después 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 desafío enorme. Incluso con las personas adecuadas y los recursos adecuados, no es nada fácil. AMD buscó arreglar esto 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 y renderizado de bajo nivel en múltiples sistemas centrales de CPU.

Básicamente, el objetivo de Vulkan es hacer que sea más fácil obtener un mejor rendimiento gráfico mediante la utilización completa de su procesador de múltiples núcleos. Multi-threading significa que Vulkan puede hacer lo que OpenGL ES no puede hacer, 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 a varios fabricantes comenzar a trabajar de inmediato en formas de apoyar a Vulkan para desarrolladores interesados ​​en construir 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 necesita realizar muchos esfuerzos de portabilidad, y generalmente 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 el WSI (integración del sistema de ventanas) que forma parte de Vulkan. Especialmente con dispositivos como el NVIDIA Shield que ofrecen rendimiento de escritorio como GPU, supongo que veremos más juegos de escritorio transferidos a Android gracias a Vulkan. Agregar soporte de 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 comercializar? Básicamente, Samsung usará Vulkan para cortejar a los desarrolladores para 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 a la intemperie en eventos como la próxima conferencia de desarrolladores de la compañía y obtener excelentes juegos que se juegan mejor en el Galaxy S7 y S7 Edge.

¿Vulkan es 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 has usado un juego construido con Metal en un iPhone versus ese mismo juego en otro teléfono, sabes que la diferencia es significativa. Confiar en OpenGL ES para juegos en 3D en un teléfono es un gran recurso, lo que significa que su batería se agota más rápido para una experiencia inferior. Metal aborda eso en gran medida 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, jefa de desarrollo de Giant Spacekat. Como desarrolladora familiarizada con Metal y Vulkan, pudo ofrecer una pequeña perspectiva.

Es justo llamarlos similares, ya que ambas tecnologías están tratando de resolver el mismo problema. Esta pila de OpenGL es insostenible, fue escrita en una época con este paradigma de un solo núcleo y simplemente ya no funciona. Apple lanzar Metal tiene mucho sentido para ellos. La diferencia para Apple es que pueden mirar 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 la Asamblea, y es un camino sostenible. 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á al menos hasta la próxima versión de Android antes de que Google haya adoptado ingenuamente a Vulkan en todo Android. Incluso cuando eso suceda, solo será para la versión más nueva de Android en adelante. Un vistazo rápido a los números de versiones recientes de Google es toda la explicación que necesita para saber por qué esto llevará un tiempo para mejorar la experiencia en toda la plataforma.

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

Es una de estas ideas que realmente resuelve un problema, pero al menos en el lado de Apple tenemos un largo camino por recorrer antes de que realmente hayamos resuelto este grueso problema de pila de OpenGL. Francamente, está matando la plataforma.

Samsung espera abordar esto directamente, y ha tenido un éxito limitado con este enfoque con sus API de huellas digitales 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 VR?

La otra gran razón por la que Samsung está aprovechando la oportunidad de ser el primer fabricante con soporte de 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. Con Oculus y Samsung actuando como miembros del Grupo Khronos, tiene sentido que ambas compañías animen a los desarrolladores a apoyar 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 depende en gran medida de una experiencia fluida con velocidades de cuadro estables y sin complicaciones. 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 solucionar. 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 representación a la GPU (y el controlador) de antemano, lo que lo hace mucho más predictivo y, por lo tanto, más fácil para la GPU. Esto resulta en 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 a Samsung para mejorar el Gear VR con Vulkan no podría ser más claro.

En este momento, usar el Gear VR ejecuta el procesador con tanta fuerza que agota la batería en aproximadamente 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 llegue a la Asamblea y realmente optimice esta capa gráfica, este es el caso. No vamos a tocar 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 durante la noche, pero el potencial de Vulkan para abrir puertas a mejores experiencias no podría ser más claro. Con el Galaxy S7 y el S7 Edge, es un primer paso para Samsung hacia una nueva y poderosa experiencia de juego y realidad virtual y un buen momento para mantenerse por encima de la competencia y afirmar que estuvieron aquí primero.