NEW STATE Mobile réduit l'utilisation du GPU de 22% avec Android GPU Inspector
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Arrière-plan
NEW STATE Mobile est un jeu de battle royale de Krafton lancé dans le monde entier en novembre 2021. Il a enregistré plus de 45 millions de téléchargements au cours du premier mois de son lancement. KRAFTON, Inc. est un collectif de studios de développement de jeux indépendants qui se sont réunis pour créer des expériences de divertissement innovantes et attrayantes pour les joueurs du monde entier. Elle comprend PUBG Studios, Bluehole Studio, Striking Distance Studios, RisingWings, Dreamotion et Unknown Worlds, chacun disposant de son expertise unique. NEW STATE Mobile a été créé avec Unreal Engine 4. Nous avons essayé de réduire la chaleur et la consommation de la batterie causées par une utilisation élevée du GPU en raison de ses fonctionnalités de jeu distinctives.
Les joueurs peuvent participer à des batailles à longue portée. Le moteur de jeu doit donc pouvoir afficher des scènes à une distance assez éloignée. De plus, de nombreuses végétations sont présentes sur le champ de bataille, ce qui entraîne une forte baisse des performances en raison du forçage de ces végétations. L'équipe a donc utilisé Android GPU Inspector (AGI) pour optimiser l'utilisation du GPU du jeu et éliminer les goulots d'étranglement.

Figure 1: Capture d'écran de NEW STATE Mobile
Ce qu'ils ont fait
NEW STATE Mobile a utilisé l'AGI pour accéder à de nombreuses informations sur les compteurs GPU et optimiser l'utilisation de ces GPU en conséquence. Ils ont identifié des passes de rendu inutiles à l'aide des données de profilage de l'activité du GPU fournies par AGI. Après avoir identifié les segments qui occupaient l'utilisation du GPU et la bande passante de la mémoire, il a continué à vérifier la progression de l'optimisation à l'aide du compteur du GPU et de l'activité du GPU pour vérifier qu'il allait dans la bonne direction.

Figure 2: Capture d'écran de NEW STATE Mobile
Voici quelques-uns des enseignements qu'il a tirés sur les performances du jeu grâce à l'IA générative:
Optimisation de la passe de base: le prépassage de profondeur, une technologie qui augmente l'utilisation d'Early-z, a permis de réduire l'utilisation de l'ombrage de fragment. Le prépass de profondeur était spécifiquement utilisé pour le LOD0, qui occupe la majeure partie de l'espace à l'écran, ce qui réduit la charge pouvant résulter d'appels de dessin supplémentaires. De plus, l'utilisation du format de couleur de scène 32 bits peut améliorer les performances de l'ensemble du passage de rendu. Le format SceneColor par défaut d'UnrealEngine4 est FloatRGBA, qui est au format 64 bits. Si un format 32 bits est utilisé, la bande passante mémoire peut être réduite de moitié.
Impact mesuré: après l'application du prépassage de profondeur, l'utilisation du GPU a chuté de 7,5%. En raison du prépassage de profondeur, un plus grand nombre de fragments peuvent être Early-Z. Le temps nécessaire pour l'ombrage de fragment a diminué de 2%. Grâce au format scenecolor 32 bits, l'utilisation du GPU a été réduite de 5,3%. Le nombre de nuanceurs actifs a diminué de 2%, et la lecture totale du GPU à partir de la mémoire système a diminué de 330 Mo/s. La quantité d'écritures du GPU dans la mémoire système a été réduite de 78 Mo/s, et la lecture de la mémoire de texture a également été réduite de 43 Mo/s.
Optimisation du pass d'ombre: lorsque des maillages sont utilisés comme projecteurs d'ombres, l'utilisation d'un niveau de détail élevé en polygones n'a pas vraiment d'incidence sur la qualité. Il est préférable d'utiliser un LOD à faible nombre de polygones, ce qui permet de réduire le nombre de triangles. Dans Unreal Engine 4, vous pouvez utiliser un niveau de détail à faible nombre de polygones à l'aide de la commande de console "ForceLODShadow".
Impact mesuré: le nombre de triangles utilisés pour les ombres a diminué d'environ 120 000. Les données du compteur GPU dans AGI ont montré que l'utilisation du GPU a diminué d'environ 2%, que la quantité de mémoire GPU lue à partir de la mémoire système a diminué de 130 Mo/s et que la quantité écrite à partir du GPU vers la mémoire système a diminué d'environ 23 Mo/s.
Instanciation automatique: l'instanciation automatique, qui peut être appliquée à la fois pour l'optimisation du pass d'ombre et du pass de base, vous permet de fusionner les mêmes commandes de rendu au moment de l'exécution, puis de les afficher toutes en même temps. NEWSTATE Mobile a ainsi pu appliquer une illumination globale à des objets individuels sans perdre en performances. L'instanciation automatique est une fonctionnalité de base fournie par UnrealEngine4.
Impact mesuré: le nombre d'appels de dessin a été réduit de 500. Cela a réduit d'environ 48% les appels de dessin. L'utilisation du GPU a diminué d'environ 3,5%. Ces mesures ont été effectuées à l'aide d'OpenGL.

Figure 3: Données internes montrant la réduction de l'utilisation du GPU
Résultats
En utilisant l'AGI, NEW STATE Mobile a réduit son utilisation des GPU de 22%. L'optimisation du prépassage de profondeur et du passage d'ombre a permis de réduire l'utilisation du GPU de 19% et de 3 %, respectivement. Les appels de dessin et la mémoire totale lue et écrite par le GPU à partir de la mémoire système ont également été considérablement réduits.
Premiers pas
Découvrez comment analyser l'impact de votre jeu sur les appareils Android en identifiant les problèmes de performances et les axes d'optimisation à l'aide d'Android GPU Inspector (AGI).
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2022/02/25 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2022/02/25 (UTC)."],[],[],null,["# NEW STATE Mobile reduces GPU usage by 22% with Android GPU Inspector\n\nBackground\n----------\n\n[NEW STATE Mobile](https://play.google.com/store/apps/details?id=com.pubg.newstate) is a battle royale game from Krafton that launched Nov 2021 worldwide, and reached 45M+ downloads in the first month of launch. KRAFTON, Inc. is a collective of independent game development studios brought together to create innovative and engaging entertainment experiences for gamers across the world. The company consists of PUBG Studios, Bluehole Studio, Striking Distance Studios, RisingWings, Dreamotion, and Unknown Worlds, each with its own unique expertise. NEW STATE Mobile was created with Unreal Engine 4, and various attempts have been made to reduce heat and battery consumption caused by high GPU usage from their distinctive gaming features.\n\nGamers can play long range battles, so the game engine needs to be able to render scenes from quite a distance. Also, numerous vegetations are present in the battleground, leading the overdraw of these vegetations to have a substantial impact on decreasing performance. This led the team to [Android GPU Inspector](http://developer.android.com/agi) (AGI) to help optimize the game's GPU usage and eliminate bottlenecks.\n\n**Figure 1**: Screenshot from NEW STATE Mobile\n\nWhat they did\n-------------\n\nNEW STATE Mobile used AGI to access loads of GPU counter information and optimize their GPU usage accordingly. They identified unnecessary render passes with the help of the GPU activity profiling data provided by AGI. After identifying which segments were taking up GPU usage and memory bandwidth, they continued to check the optimization progress using the GPU Counter and GPU activity back and forth to check if they were headed in the right direction.\n\n**Figure 2**: Screenshot from NEW STATE Mobile\n\nHere are a few things they learned about the game's performance using AGI:\n\n- **Base pass optimization**: Depth prepass, which is a technology that increases usage of Early-z, helped decrease the use of fragment shading. Depth prepass was specifically used for LOD0 which takes up most of the screen space, minimizing the burden that can come from additional draw calls. Also, using the 32-bit scenecolor format can increase the performance of the entire render pass. Default SceneColor format of UnrealEngine4 is FloatRGBA, which is 64-bit. If a 32-bit format is used, memory bandwidth can be reduced by half.\n\n- **Impact measured**: After applying depth prepass, GPU utilization dropped by 7.5%. Due to the depth prepass, more Fragments could be Early-Z. The rate of time required for fragment shading has decreased by 2%. Through the 32-bit scenecolor format, GPU utilization was reduced by 5.3%. Shaders Busy decreased by 2%, and total GPU read from system memory decreased 330 MB/s. The amount the GPU writes to system memory was reduced by 78 MB/s and Texture memory read was also reduced by 43 MB/s.\n\n- **Shadow pass optimization**: When meshes are used as shadow casters, using high polygon LOD does not really make a difference in quality. It is preferred to use low polygon LOD which helps reduce the number of triangles. In Unreal Engine 4, low polygon LOD can be used via the console command 'ForceLODShadow'.\n\n- **Impact measured**: The number of triangles used for shadows decreased by about 120,000. The GPU counter data in AGI showed that GPU usage decreased about 2%, the amount of the GPU memory read from the system memory decreased 130MB/s, and the amount written from the GPU to the system memory decreased about 23MBs.\n\n- **Auto-instancing**: Auto-instancing, which can be applied for both shadow pass and base pass optimization, allows you to merge the same render commands at runtime and then be rendered all at once. This allowed NEWSTATE mobile to apply global illumination to individual objects without losing performance. Auto-instancing is a basic feature provided by UnrealEngine4.\n\n- **Impact measured**: Draw calls were reduced by 500. It reduced about 48% of the draw calls. GPU utilization decreased about 3.5%. These measurements were taken using OpenGL.\n\n**Figure 3**: Internal data showing GPU usage reduction\n\nResults\n-------\n\nBy using AGI, NEW STATE Mobile reduced its GPU usage by 22%. From depth prepass and shadow pass optimization, GPU usage was down by 19% and 3% respectively. Draw calls and the total memory read and written by GPU from system memory was also substantially reduced.\n\nGet started\n-----------\n\nLearn how to analyze the impact of your game on Android devices by identifying performance issues and areas to optimize with the [Android GPU Inspector](https://developer.android.com/agi) (AGI)."]]