Skip to main content

Más rápido y eficiente en móvil: Optimizando Roblox con Vulkan

julio

20, 2020

by coberst


Tecnología

Roblox se ejecuta en millones de dispositivos Android, y es importante llegar a un buen rendimiento donde sea posible. En particular, el rendimiento del renderizado presenta desafíos, así que nos centramos en muchas arquitecturas de hardware, muchos tipos de dispositivos diferentes en la curva del rendimiento y potencia y, por supuesto, muchas versiones de controladores.

En 2018, lanzamos el renderizado Vulkan, y desde entonces su uso se ha expandido más allá de OpenGL. Hoy en día, alrededor del 40% de nuestros usuarios Android usa Vulkan.

Después de su lanzamiento inicial, debido a la popularidad creciente del backend Vulkan, investimos mucho tiempo en analizar el rendimiento para mejorarlo. Este proceso implicó mucha investigación y experimentación con mínima optimación o código centrados en el rendimiento disponible en esa época; por eso, tuvimos que probar enfoques diferentes para cada problema, y encontrar la mejor solución para nosotros.

Durante el Reboot Develop Red 2019, organizamos unas pláticas junto con ARM para hablar de los desafíos de la optimación del rendimiento desde diversos ángulos:

  • Existe ahora una colección creciente de código Vulkan de muestra centrado en el rendimiento, desarrollado por ARM y donado a Khronos, disponible aquí: https://www.khronos.org/blog/vulkan-releases-unified-samples-repository. Joe Rozek de ARM habló sobre la estructura general de las muestras y sobre el marco que se utilizó.
  • Para ayudar a los desarrolladores a optimizar el código Vulkan y proporcionar soluciones a los problemas que encontramos en Roblox, hablé de algunos ejemplos concretos de retos que se presentaron al optimizar nuestro renderizado y que tuvimos que examinar para implementar soluciones.

El video de la plática se publicó en YouTube (https://www.youtube.com/watch?v=hPW5ckkqiqA), y puedes descargar las diapositivas aquí (https://zeux.io/data/reboot2019.pdf).


Ni la Corporación Roblox ni este blog respaldan o apoyan a ninguna empresa o servicio. Además, no se ofrecen garantías ni promesas sobre la exactitud, fiabilidad o integridad de la información contenida en este blog.

Este blog se publicó originalmente en Roblox Tech Blog.