NEW STATE Mobile reduz o uso da GPU em 22% com o Android GPU Inspector
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Contexto
NEW STATE Mobile é um jogo de battle royale da Krafton, lançado em novembro de 2021 no mundo todo e com mais de 45 milhões de downloads no primeiro mês de lançamento. A KRAFTON, Inc. é um coletivo de estúdios independentes de desenvolvimento de jogos reunidos para criar experiências de entretenimento inovadoras e envolventes para jogadores de todo o mundo. A empresa é constituída por PUBG Studios, Bluehole Studio, Striking Distance Studios, RiseWings, Dreamotion e Unknown Worlds, cada um com o próprio conhecimento. O NEW STATE Mobile foi criado com o Unreal Engine 4, e várias tentativas foram feitas para reduzir o consumo de calor e da bateria causados pelo alto uso da GPU devido às características marcantes dos jogos.
Como os jogadores podem jogar batalhas de longa distância, o mecanismo do jogo precisa renderizar cenas a certa distância. Além disso, inúmeras plantas estão presentes no campo de batalha, levando o overdraw dessas plantas a ter um impacto significativo na queda do desempenho. Isso levou a equipe ao Android GPU Inspector (AGI), para ajudar a otimizar o uso da GPU do jogo e eliminar gargalos.

Figura 1: captura de tela da NEW STATE Mobile
O que a equipe fez
O NEW STATE Mobile usou o AGI para acessar cargas de informações do contador de GPU e otimizar seu uso de GPU adequadamente. Eles identificaram passes de renderização desnecessários com a ajuda dos dados de criação de perfil da atividade da GPU fornecidos pelo AGI. Depois de identificar quais segmentos estavam consumindo o uso da GPU e a largura de banda da memória, eles continuaram verificando o progresso da otimização usando o contador e a atividade da GPU de um lado para o outro para verificar se estavam indo na direção certa.

Figura 2: captura de tela da NEW STATE Mobile
Aqui estão algumas coisas que eles aprenderam sobre o desempenho do jogo usando o AGI:
Otimização de passe base: o pré-passagem de profundidade, uma tecnologia que aumenta o uso do Early-z, ajudou a diminuir o uso do sombreamento de fragmentos. O pré-passe de profundidade foi usado especificamente para LOD0, que ocupa a maior parte do espaço da tela, minimizando o fardo que pode vir de chamadas de desenho adicionais. Além disso, o uso do formato scenecolor de 32 bits pode aumentar o desempenho de todo o cartão de renderização. O formato SceneColor padrão do UnrealEngine4 é FloatRGBA, que é de 64 bits. Se um formato de 32 bits for usado, a largura de banda da memória poderá ser reduzida pela metade.
Impacto medido: após aplicar o pré-passe de profundidade, a utilização da GPU caiu 7,5%. Devido ao pré-passe de profundidade, mais fragmentos podem ser do início ao Z. A taxa de tempo necessário para sombreamento de fragmentos diminuiu 2%. Com o formato scenecolor de 32 bits, a utilização da GPU foi reduzida em 5,3%. Os sombreadores Ocupados diminuíram em 2%, e o total de leitura de GPU da memória do sistema diminuiu 330 MB/s. A quantidade de gravações da GPU na memória do sistema foi reduzida em 78 MB/s, e a leitura de memória de textura também foi reduzida em 43 MB/s.
Otimização de passagem de sombra: quando as malhas são usadas como lança-sombras, o uso de LOD de polígono alto não faz diferença na qualidade. É preferível usar um LOD de polígono baixo que ajuda a reduzir o número de triângulos. No Unreal Engine 4, o LOD com poucos polígonos pode ser usado com o comando do console "ForceLODShadow".
Impacto medido: o número de triângulos usados para sombras diminuiu cerca de 120.000. Os dados do contador de GPU no AGI mostraram que o uso da GPU diminuiu cerca de 2%, a quantidade de memória GPU lida da memória do sistema diminuiu 130 MB/s e a quantidade gravada da GPU para a memória do sistema diminuiu cerca de 23 MB.
Instanciação automática: pode ser aplicada para a otimização de passagem de sombra e de base e permite mesclar os mesmos comandos de renderização no tempo de execução e ser renderizados de uma só vez. Isso permitiu que o dispositivo móvel NEWSTATE aplicasse iluminação global a objetos individuais sem perder o desempenho. A instância automática é um recurso básico fornecido pelo UnrealEngine4.
Impacto medido: as chamadas de desenho foram reduzidas em 500. Isso reduziu cerca de 48% das chamadas de desenho. A utilização da GPU diminuiu cerca de 3,5%. Essas medições foram feitas usando o OpenGL.

Figura 3: dados internos mostrando a redução do uso da GPU.
Resultados
Com o AGI, a NEW STATE Mobile reduziu seu uso de GPU em 22%. Com a otimização de pré-passagem de profundidade e passagem sombra, o uso da GPU diminuiu 19% e 3%, respectivamente. As chamadas de desenho e a memória total lida e gravada pela GPU na memória do sistema também foram significativamente reduzidas.
Primeiros passos
Aprenda a analisar o impacto do seu jogo em dispositivos Android identificando problemas de desempenho e áreas a serem otimizadas com o Android GPU Inspector (AGI).
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2022-02-25 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]