Para criar experiências do usuário de RA atrativas, é importante que seus dispositivos tem um bom desempenho.
Confira se o app:
- Responsivo à entrada do usuário, o que inclui gestos de toque e dispositivos movimento.
- É renderizado em um frame rate razoável e consistente. Usuários em geral preferem frame rates consistentes e menores que e superior.
- Minimiza o consumo da bateria, permitindo que o usuário use o dispositivo para outras atividades tarefas ao longo do dia ou engajar mais com sua experiência de RA.
- Cria uma experiência envolvente de RA em que o conteúdo gerado em RA aparece estável em relação ao ambiente e se integra de forma realista à de nuvem.
Práticas recomendadas de desempenho
Para criar experiências de RA mais atraentes, projete com as seguintes recomendações práticas recomendadas em mente.
Usar âncoras para melhorar o desempenho do acompanhamento
Embora seja possível posicionar o conteúdo 3D usando coordenadas de espaço mundial, use uma âncora sempre que possível. O ARCore garante que as âncoras pareçam estáveis em relação ao mundo, mesmo que o coordenadas de espaço mundial mudam e podem saltar com o tempo sempre que o ARCore atualiza sua compreensão do mundo.
Objetos virtuais que não estão anexados a uma âncora podem parecer saltam e não parecem estáveis em relação ao ambiente. Isso pode tornar A experiência de RA é menos interessante para os usuários.
Considere as características de desempenho específicas do dispositivo
Os dispositivos compatíveis com ARCore abrangem uma grande variedade de características de hardware e desempenho. O desempenho do dispositivo pode variar devido a:
- CPU/GPU do dispositivo, velocidade do clock
- Memória e largura de banda disponíveis
- Qualidade do sensor de câmera/IMU
- Outras diferenças de hardware
- Drivers de dispositivos e sistemas operacionais
Recomendamos testar o app em diferentes classes de dispositivos que são representa os dispositivos que os usuários vão usar.
Desativar recursos que consomem muita CPU quando não estiverem em uso
Certos recursos do ARCore aumentam o uso da CPU enquanto estão ativados. Considere desativar esses recursos quando sua experiência de RA não exigir para resolvê-los com rapidez. Isso disponibiliza ciclos de CPU adicionais para o aplicativo e melhora o desempenho térmico e a duração da bateria.
Atualmente, o uso da CPU do ARCore aumenta quando Instant Placement e/ou Augmented Images está ativado para a sessão atual. Siga estas diretrizes para aumentar a eficiência do uso da CPU:
Instant Placement será desativado depois que o rastreamento completo for estabelecidos. O recurso pode ser desativado na configuração da sessão.
O Augmented Images precisa ser desativado sempre que o recurso não for necessário. para sua experiência de RA. Para desativar as imagens aumentadas, configure um
null
ou Banco de dados de imagens aumentadas vazio na configuração da sessão.
Monitorar a temperatura do dispositivo
Durante o desenvolvimento e os testes de controle de qualidade, é possível usar as APIs térmicas do Android para monitorar e acompanhar o desempenho do seu app no dispositivo.
Use um build de produção do app, e não um build de desenvolvimento ou build qa do seu app, que pode ter um desempenho de execução diferente. e as características determinantes.
PowerManager#getCurrentThermalStatus()
(nível 29 da API)PowerManager#getThermalHeadroom(int)
(nível 30 da API)
Identificar a privação de CPU do ARCore
Quando uma sessão do ARCore está ativa, seu app precisa compartilhar CPUs e GPUs para dispositivos móveis limitados com o ARCore. Os aplicativos vinculados à CPU podem competir com os recursos da CPU necessário para o rastreamento de movimento.
Para verificar se os recursos localização e mapeamento simultâneos (SLAM) possa ser executado normalmente, verifique se "VIO frequência baixa" mensagem não aparece nos registros do dispositivo Android:
adb logcat | grep 'VIO frequency low'
Evitar a privação da CPU do ARCore
Quando uma sessão do ARCore está ativa, seu app precisa compartilhar CPUs e GPUs para dispositivos móveis limitados dispositivo de recursos com o ARCore. Os aplicativos vinculados à CPU podem competir com os recursos da CPU necessário para o rastreamento de movimento.
Pré-criar os bancos de dados de imagens aumentadas
Sempre que possível, crie previamente os bancos de dados de imagens aumentadas no momento do desenvolvimento. Se for necessário criar bancos de dados de imagens aumentadas durante a execução ou de forma dinâmica adicione imagens a um banco de dados, adicione imagens em segundo plano linha de execução principal para evitar o bloqueio da linha de execução de interface principal.
Limitar o número de streams de câmera solicitados
Ao usar Java Shared Camera, os aplicativos podem solicitar fluxos de imagem de CPU ou GPU adicionais.