Otimização de desempenho móvel com Adaptive Performance 4.0

Baixe o Unity 2022.1 Tech Stream e descubra o Adaptive Performance 4.0. Aumente ainda mais o desempenho do Android em dispositivos Samsung com mais quatro escalonadores que abrangem física, decalques, personalização e eliminação de camadas, além de suporte para scripts visuais para otimizar o desempenho do aplicativo.
O Unity 2022.1 oferece acesso antecipado a novos recursos inovadores que informarão a próxima versão do Long Term Support (LTS). Neste pacote verificado, o Adaptive Performance 4.0 vem com algumas ótimas novidades para expandir o dimensionamento do seu aplicativo e melhorar seu desempenho geral.
Na GDC 2022, compartilhamos as últimas atualizações do Adaptive Performance 4.0 durante nossa conversa com a Samsung, Desvendando seu potencial de jogo com o Galaxy GameDev. Continue lendo para ver o resumo.
Com nossa integração de script visual, praticamente qualquer pessoa pode aproveitar o Adaptive Performance para dimensionar seu aplicativo e prolongar a vida útil da bateria. Ao instalar o Adaptive Performance 4.0, o sistema de script visual do Unity fornecerá unidades para que você possa acessar as métricas do Adaptive Performance sem implementar nada em C#.

Em outras palavras, depois de instalar o pacote de script visual, o Unity ativa automaticamente as unidades de Desempenho Adaptável. Você pode então adicionar o Adaptive Performance a um projeto com gráficos de script visual existentes, mas deve recompilar as unidades. Para uma demonstração detalhada e melhores práticas, confira a documentação de exemplo do Adaptive Performance.
À medida que o Unity regenera unidades de Desempenho Adaptável, você pode adicionar novas unidades ao seu gráfico clicando com o botão direito do mouse no fundo de qualquer gráfico de script. Acesse o submenu Desempenho Adaptável para localizar as unidades.
Partículas em Ataque de Barco
Aqui está um exemplo de como usar o Adaptive Performance em scripts visuais. A imagem abaixo representa uma fatia do Boat Attack, onde todas as partículas são desabilitadas em “limitação iminente” e habilitadas se não houver avisos presentes. Escalamos efeitos como respingos de ondas de água, fumaça de motor de barco e formação de rastros de parapente, pois eles exigem muito da CPU e da GPU. Isso melhora o desempenho com alterações mínimas no jogo em si.

Sempre que há uma alteração de aviso térmico, fazemos com que o Sistema de Partículas itere sobre ela e, em seguida, pare o Sistema de Partículas ou reinicie-o novamente. Claro que isso pode ser ajustado às necessidades do jogo. Por exemplo, em vez de desabilitar os efeitos completamente, você pode dimensionar os números do emissor ou a qualidade das imagens de origem.
Todas as APIs de desempenho adaptável são reinventadas em script visual. Uma lista completa de APIs e suas informações relacionadas podem ser encontradas na documentação de integração de script visual.
Além dos muitos scalers já disponíveis, adicionamos quatro novos scalers ao Adaptive Performance 4.0:
- Escalador de seleção de camadas
- Decalques escalador
- Escalador personalizado
- Escalador de física
Os benefícios do sistema indexador e de todos os escalonadores criados sobre ele incluem:
- Estabilização da taxa de quadros
- Aceleração mínima
- Resgate da limitação
- Dimensionamento automático de conteúdo durante o tempo de execução
- Escala sem recompilar a fonte em milhões de dispositivos
- Integração simples
- Alta qualidade
- Baixa manutenção
O módulo personalizado Adaptive Performance Unity Profiler mostra como os scalers mudam para que você possa ver se eles estão fazendo bem seu trabalho ou se você precisa ajustá-los. O exemplo abaixo compreende o Boat Attack sendo executado em um Samsung Fold3 no modo desdobrado, que usa uma resolução bastante alta.

O Ataque de Barco começa com muitos escaladores envolvidos na cena do menu, que foi estabilizada antes da captura ser feita. Neste exemplo, a temperatura aumenta rapidamente e o dispositivo entra em estrangulamento.
O Adaptive Performance tenta estabilizar a situação e reduzir os efeitos na GPU, já que esse é claramente o gargalo. Os escaladores de sombra reduzem a qualidade rapidamente – mas como isso não é suficiente, tanto a distância de visualização quanto a resolução também diminuem. A taxa de quadros então se estabiliza e a temperatura cai. O jogo é resgatado da limitação e sua taxa de quadros aumenta para 60 fps.
Escalador de seleção de camadas
Com o dimensionador de seleção de camadas, você pode ajustar dinamicamente as distâncias de seleção de camadas em tempo de execução.
Esse recurso usa o sistema indexador para tomar certas decisões, como quando e quanto aumentar ou diminuir as distâncias de descarte de camadas para desempenho e estabilidade térmica ideais.
A amostra que enviamos com o Adaptive Performance faz loop em carga média de CPU até atingir taxas de quadros críticas e então diminui a distância de seleção das camadas. O resultado disso é que a distância de seleção das camadas muda dependendo da carga da CPU e da GPU.
Você pode definir um valor diferente para a distância de seleção de cada camada para que elas sejam dimensionadas proporcionalmente. Isso ajuda você a determinar quais objetos devem ser eliminados mais cedo para economizar desempenho. Para obter detalhes sobre como fazer isso, consulte o exemplo de códigoa seguir.
Decalques adaptativos
Os decalques adaptáveis visam efeitos visuais. Em As Incríveis Aventuras do Dr. Braço, há um cenário de luta contra chefe que usa muitas partículas e projetores de decalques. Quando o dispositivo móvel esquenta e a limitação é iminente (ou já está ocorrendo), o número de partículas emitidas diminui. Nesse caso, emissores visualmente menos importantes, como folhas balançando ao vento, pequenas faíscas e outros elementos semelhantes, desligam-se completamente. O scaler também reduz as distâncias dos decalques.
Sem avisos

Aceleração

Além disso, as colisões são desabilitadas em algumas partículas. Quando a carga térmica diminui, podemos aumentar esses efeitos novamente.
Escalador personalizado
O scaler personalizado implementa um scaler de neblina e até ajuda você a criar seus próprios scalers quando não os oferecemos diretamente. O scaler personalizado aumenta a neblina e reduz a distância de visão quando a carga térmica aumenta. Esta ação diminui a carga no sistema para que ele possa se recuperar.
O pós-processamento pode rapidamente se tornar uma das partes mais caras do quadro para renderizar. Embora não sejam cruciais para a jogabilidade, eles podem adicionar mais ambiente e aprimorar a arte na qual a equipe de desenvolvimento trabalha tanto.
O Desempenho Adaptável oferece o benefício de incluir os efeitos de pós-processamento do jogo em toda a extensão, mas também reduz os efeitos que não são necessários em momentos de pico de demanda do dispositivo. Quando o estrangulamento está em andamento, desligamos efeitos específicos em As Incríveis Aventuras do Dr. Braço que foram incluídas principalmente para melhorar o clima da cena, sem impactar substancialmente a jogabilidade. Neblina, Bloom, Profundidade de Campo, Oclusão de Ambiente no Espaço da Tela (SSAO) e Desfoque de Movimento são alguns excelentes exemplos de efeitos visuais que podem acrescentar muito, mas não são necessários para a jogabilidade. Esses ajustes permitem melhorias significativas no desempenho do jogo.
Sem avisos

Aceleração

Física Adaptativa
A Física Adaptativa altera o tempo delta fixo no qual o mecanismo de física é atualizado. Se você usá-lo para outros sistemas, eles também serão dimensionados. Mas se você usar os tempos delta fixos em outros sistemas, talvez seja necessário criar seu próprio escalonador físico para empregar configurações mais detalhadas em vez do tempo delta fixo.
Veja a comparação acima de um valor Time.fixedDeltaTime original e uma versão reduzida. O tempo médio de quadro do original é de 28 ms e o tempo médio de quadro da versão reduzida é de 21 ms.
Nossa equipe de Desempenho Adaptativo está constantemente trabalhando para ampliar o pacote e o alcance de sua plataforma, e estamos animados com os novos provedores que virão no futuro. Como sempre, agradecemos seu feedback em nosso fórum de Desempenho Adaptável . Não hesite em entrar em contato!
