Os jogos para Android são jogados principalmente em dispositivos com bateria, como smartphones ou tablets. Otimize a eficiência de energia do jogo para ajudar os usuários a jogar por mais tempo e dar a eles confiança para iniciar uma sessão de jogo mesmo quando o dispositivo não estiver totalmente carregado.
Usar uma taxa de atualização de tela ideal
A taxa de atualização da tela é a velocidade com que o painel de exibição de um dispositivo pode mudar para mostrar novas informações. Tradicionalmente, os dispositivos portáteis usavam uma taxa de atualização de 60 Hz, atualizando o conteúdo da tela 60 vezes por segundo. Dispositivos modernos muitas vezes têm telas com taxas de atualização mais altas, capazes de atualizar a 90 Hz ou 120 Hz. Taxas de atualização mais altas resultam em experiências do usuário mais suaves para ações como a rolagem, mas aumentam o consumo de energia do painel de exibição.
Os jogos geralmente têm uma taxa de frames desejada de 30 ou 60 frames por segundo. Se a taxa de atualização da tela for maior do que a taxa de frames desejada do jogo, não haverá nenhum benefício da taxa de atualização mais alta, apenas um aumento no consumo de energia. Em dispositivos de alta taxa de atualização, ajuste a taxa de atualização da tela para corresponder à taxa de frame desejada do jogo o mais próximo possível.
Integrar ou ativar a biblioteca Swappy de frame pacing
O Android Game Development Kit (AGDK) inclui uma biblioteca de frame pacing conhecida como Swappy. O Swappy otimiza a taxa de atualização da tela do dispositivo para corresponder o mais próximo possível à taxa de frames do jogo. Se você estiver usando um mecanismo de jogo personalizado, consulte o guia da biblioteca Frame Pacing para saber como integrar a biblioteca ao seu mecanismo.
O Swappy já está integrado ao mecanismo Unreal (Frame Pacing para dispositivos móveis) e ao mecanismo Unity (PlayerSettings.Android.optimizedFramePacing) e otimiza a taxa de atualização da tela se ela estiver ativada no projeto do jogo.
Chamar a API de taxa de frames do Android
Como alternativa à integração da biblioteca de frame pacing, use a API Android frame rate para ajustar diretamente a taxa de atualização da tela.
Usar a API Vulkan para gráficos
O Android oferece suporte a duas APIs gráficas: a API OpenGL ES mais antiga e a API Vulkan mais recente. O Vulkan agora é a API gráfica principal do Android e é mais eficiente do que o OpenGL ES. Para mais informações sobre os benefícios do Vulkan e como usá-lo, consulte Usar o Vulkan para gráficos.
Responder a condições térmicas do dispositivo
A alta utilização da CPU e da GPU do dispositivo gera calor. A eficiência energética diminui conforme o dispositivo esquenta. Se um dispositivo ficar muito quente, ele vai reduzir a velocidade da CPU e da GPU para reduzir o consumo de energia e permitir que o dispositivo esfrie. Esse comportamento, conhecido como limitação térmica, afeta o desempenho do jogo e a taxa de consumo da bateria. Use a API Android Thermal para monitorar o estado térmico do dispositivo e ajustar a carga de trabalho do jogo para evitar a limitação térmica.
Consultar o modo de jogo do dispositivo
O modo jogo é um recurso que permite ao usuário especificar uma preferência para trocar o desempenho pela duração da bateria, a duração da bateria pelo desempenho ou selecionar um padrão neutro. Se o jogo oferecer suporte a configurações de desempenho variável, use a API Game Mode para verificar essa preferência e modificar as configurações do jogo de acordo.
Outros recursos
Exemplo de demonstração de eficiência de energia do Unity (GitHub)