Melhorar a performance e o gerenciamento térmico é essencial para desenvolver jogos de sucesso no Android. Tradicionalmente, os desenvolvedores tinham que gerenciar esses problemas diminuindo a fidelidade do jogo ou otimizando ainda mais o renderizador. Essas mudanças tendem a ser específicas do jogo e, muitas vezes, são inflexíveis.
Vários participantes do ecossistema Android oferecem APIs de desempenho adaptável para desenvolvedores. Para simplificar a integração de recursos de desempenho adaptáveis e reduzir a fragmentação no ecossistema, o Google e a MediaTek estão colaborando para integrar nossas ofertas: Android Dynamic Performance Framework (ADPF) e MediaTek Adaptive Gaming Technology (MAGT).
O ADPF oferece aos desenvolvedores a capacidade de ajustar a carga de trabalho do jogo com base em situações térmicas em tempo real e fornece dicas para o SO otimizar o desempenho da carga de trabalho atual. Você pode usar esses indicadores para ajustar configurações de fidelidade e performance, como resolução, frame rate e até mesmo estratégia de carregamento de recursos. Isso permite equilibrar melhor desempenho, temperatura e fidelidade, oferecendo aos jogadores Android a melhor experiência possível. O ecossistema do Android tem feito um bom uso dessa tecnologia. A Ares da Kakao Games conseguiu aumentar a estabilidade de QPS para 96% ajustando a carga de trabalho no tempo de execução em resposta à API Thermal.
A MediaTek é líder no fornecimento de SoCs no Android. A empresa produz vários chips, como o novo Dimensity 9300. A MediaTek também oferece o SDK MAGT, que está disponível desde 2021. O SDK fornece recursos avançados para ajuste de desempenho em SoCs da MediaTek, como informações detalhadas sobre o desempenho em tempo real e dicas para aumentar as cargas de trabalho. Além de oferecer o MAGT aos desenvolvedores, a MediaTek começou a oferecer recursos aprimorados de ADPF.
Impedir a limitação térmica com o ADPF e otimizar o desempenho
A MediaTek permite que o framework ADPF acesse as temperaturas atuais e de destino do dispositivo
para evitar limitações graves. Usando a função
getThermalHeadroom()
do ADPF, os aplicativos podem ter uma estimativa da margem térmica disponível
antes que o dispositivo atinja uma limitação severa. Com essa estimativa, os aplicativos
podem ajustar dinamicamente as cargas de trabalho para evitar que o dispositivo acione
a limitação, melhorando a experiência geral do usuário.
O aplicativo que usa a
demonstração do ataque de barco do Unity como
exemplo também usa a API Performance Hint Session para otimizar o desempenho.
Ela fornece o tempo para a renderização do frame desejado e o tempo para a renderização do frame atual para cada frame usando
as funções updateTargetWorkDuration()
e reportActualWorkDuration()
,
respectivamente. A plataforma MediaTek calcula a carga de trabalho entre
duas chamadas de reportActualWorkDuration()
e aloca a capacidade de CPU adequada para garantir que a carga de trabalho possa ser
concluída dentro da duração desejada.
Como resultado, a plataforma MediaTek fornece de maneira consistente os frames por segundo (QPS) ideais com consumo de energia equilibrado, garantindo uma experiência do usuário tranquila.
Tenha frame rates melhores, menor consumo de energia e sessões mais longas de jogo
No geral, a demonstração do Unity Boat Attack melhorou os frame rates em 8,5 fps, reduziu o consumo de energia em 12% e permitiu sessões de jogo mais longas em 25 minutos ou mais. O desvio padrão de QPS caiu em 25%. Essa melhoria significativa permite aumentar a fidelidade dos seus jogos e executar sessões de jogo por um período mais longo de maneira térmica sustentável.
Mesmo sem ajustar as configurações de fidelidade, apenas ativando a sessão de dicas de desempenho, a carga de trabalho conseguiu diminuir o tempo médio da linha de execução de renderização em quase 10%.
O que vem a seguir para o desempenho adaptável nos SoCs da MediaTek
O ADPF será atualizado nos próximos anos com novos recursos e para adicionar novos recursos independentes de dispositivo do MAGT. Para desenvolvedores que buscam aproveitar ainda mais seus dispositivos MediaTek, o SDK MAGT contém recursos avançados que segmentam exclusivamente arquiteturas de chipset MediaTek e, em breve, também oferecerá recursos principais ADPF.
Comece a usar a adaptabilidade do Android
O Android Dynamic Performance Framework agora está disponível para todos os desenvolvedores de jogos Android para mecanismos de jogos Unity, Unreal, Cocos Creator e pelas nossas bibliotecas C++ nativas.
- Para desenvolvedores que usam Unity, comece a usar o Provedor de desempenho adaptável v5.0.0 (link em inglês). A API Thermal oferece suporte à maioria dos dispositivos com o Android 11 (nível 30 da API) e a API Performance Hint do Android 12 (nível 31 da API).
- Os desenvolvedores do Unreal podem começar a usar o plug-in do Unreal Engine de desempenho dinâmico do Android para a maioria dos dispositivos Android destinados ao Android 12 (nível 31 da API) ou versões mais recentes.
- No Cocos Creator, você pode começar a usar a API Thermal da v3.8.2 e a API Performance Hint a partir da v3.8.3.
Para esses mecanismos de jogos, as APIs térmicas são integradas ao desempenho
adaptável para ajudar a extrair as informações térmicas do dispositivo, e a API de dicas
de desempenho é chamada automaticamente a cada Update()
ou Monitor()
, sem
nenhum trabalho a mais.
Por fim, para mecanismos personalizados, consulte nosso
exemplo nativo de ADPF C++ (link em inglês).
Outros recursos
Saiba como o Android Dynamic Performance Framework pode ajudar a estabilizar o QPS do jogo e reduzir a limitação térmica.
Saiba mais sobre a Tecnologia de jogos adaptativa da MediaTek para fazer ajustes avançados de desempenho nos SoCs da MediaTek.