Skip to main content

Plus vite et plus facile sur mobile : Optimiser Roblox grâce à Vulkan

juillet

15, 2020

by coberst


Technologie

Roblox utilise des millions d’appareils Android et il est important pour nous de pouvoir obtenir de bonnes performances aussitôt possible. Restituer les performances en particulier est un défi – nous ciblons de nombreuses architectures hardware variées, de nombreux types de dispositifs différents sur la courbe puissance/performance et bien sûr de nombreuses versions de drivers très différents.

En 2018, nous avons lancé notre moteur de rendu Vulkan et depuis lors sa part de marché n’a cessé de croître par rapport à notre moteur de rendu OpenGL. 40 % environ de notre base d’utilisateurs Android utilisent Vulkan aujourd’hui.

Après le lancement initial et la popularité croissante du backend Vulkan, nous avons dû investir beaucoup de temps dans l’analyse des performances et son amélioration. Pour ce faire, il a fallu beaucoup de recherche et d’expérimentation – avec un minimum d’optimisation axée sur les performances ou le code disponible à l’époque, nous avons dû essayer différentes méthodes pour chaque problème particulier et trouver ce qui fonctionnait le mieux pour nous.

Lors de Reboot Develop Red 2019, nous avons donné une conférence en collaboration avec ARM pour couvrir le défi de l’optimisation des performances sous deux angles différents :

  • Il y a maintenant une collection croissante d’exemples de code Vulkan axés sur les performances qui ont été développés par ARM et donnés à Khronos que tu peux lire ici : https://www.khronos.org/blog/vulkan-releases-unified-samples-repository Joe Rozek de l’ARM a parlé de la structure générale des exemples et du cadre utilisé.
  • Pour aider d’autres développeurs à optimiser le code Vulkan et donner un aperçu des problèmes et des solutions que nous avons rencontrés à Roblox, j’ai parlé de plusieurs problèmes concrets que nous avons constatés lors de l’optimisation de notre support, des compromis que nous avons dû examiner et des solutions que nous avons mises en œuvre.

La vidéo de cette discussion est postée sur YouTube (https://www.youtube.com/watch?v=hPW5ckkqiqA) et tu peux télécharger les visuels ici (https://zeux.io/data/reboot2019.pdf).


Ni Roblox Corporation ni ce blog ne cautionnent ni ne soutiennent aucune entreprise ou service. En outre, aucune garantie ou promesse n’est faite quant à l’exactitude, la fiabilité ou l’exhaustivité des informations contenues dans ce blog.

Cet article de blog a été publié à l’origine sur Roblox Tech Blog.