Para crear experiencias del usuario de RA atractivas, es importante que las apps la app funciona bien.
Asegúrate de que tu app cumpla con lo siguiente:
- Responde a las entradas del usuario, incluidos los gestos táctiles y el dispositivo o movimiento.
- Se renderiza a una velocidad de fotogramas razonable y coherente. Usuarios en general prefieren velocidades de fotogramas que son consistentes y más bajas que las que son variable y superior.
- Minimiza el agotamiento de la batería, lo que permite que el usuario utilice su dispositivo para otras tareas a lo largo del día o participa más tiempo en tu experiencia de RA.
- Crea una experiencia de RA atractiva en la que aparece contenido generado por RA. estables en relación con el entorno y que realmente se combinen con el en un entorno de nube.
Prácticas recomendadas para el rendimiento
Para crear experiencias de RA más atractivas, diseña teniendo en cuenta lo siguiente prácticas recomendadas.
Usa anuncios fijos para mejorar el rendimiento del seguimiento
Aunque es posible colocar tu contenido en 3D con coordenadas del espacio mundial, usa un ancla siempre que sea posible. ARCore garantiza que las anclas parezcan estables con respecto al mundo, a pesar de que las coordenadas subyacentes del espacio global cambian y pueden saltar con el tiempo cada vez que ARCore actualiza su comprensión del mundo.
De vez en cuando, los objetos virtuales que no están unidos a un ancla aparecerán como saltar y no parecerán estables en relación con el entorno. Esto puede hacer que el experiencia de RA menos atractiva para los usuarios.
Ten en cuenta las características de rendimiento específicas del dispositivo
Los dispositivos compatibles con ARCore abarcan una amplia variedad de opciones: de hardware y rendimiento. El rendimiento del dispositivo puede variar por los siguientes motivos:
- CPU/GPU del dispositivo, velocidad del reloj
- Memoria y ancho de banda disponibles
- Calidad de la cámara o del sensor IMU
- Otras diferencias de hardware
- Controladores de dispositivos y sistemas operativos
Te recomendamos que pruebes tu app en diferentes clases de dispositivos que sean representativos de los dispositivos que usarán tus usuarios.
Inhabilita las funciones que requieren un uso intensivo de la CPU cuando no estén en uso
Algunas funciones de ARCore aumentan el uso de CPU mientras están habilitadas. Reflexiona por menos cuando tu experiencia de RA no requiera de ellos. Esto pondrá a disposición ciclos de CPU adicionales para tu app y mejorará el rendimiento térmico y la duración de la batería.
Actualmente, el uso de CPU de ARCore aumenta cuando Instant Placement o Augmented Images está habilitado para la sesión actual. Seguir lineamientos para aumentar la eficiencia del uso de CPU:
Se debe inhabilitar Instant Placement una vez que se haya completado el seguimiento establecidos. La función se puede inhabilitar en la configuración de la sesión.
Se debe inhabilitar Augmented Images cuando no se requiera la función. para tu experiencia de RA. Para inhabilitar las imágenes aumentadas, configura una
null
o de imágenes aumentadas vacía en la configuración de la sesión.
Supervisar la temperatura del dispositivo
Durante el desarrollo y las pruebas de QA, puedes usar las APIs térmicas de Android para supervisar y hacer un seguimiento del rendimiento de tu app en el dispositivo.
Asegúrate de usar una compilación de producción de tu app (y no una de desarrollo o qa de tu app que podría tener un rendimiento de tiempo de ejecución diferente del usuario.
PowerManager#getCurrentThermalStatus()
(nivel de API 29)PowerManager#getThermalHeadroom(int)
(nivel de API 30)
Identifica la falta de CPU de ARCore
Cuando una sesión de ARCore está activa, tu app debe compartir CPU y GPU para dispositivos móviles limitadas recursos con ARCore. Las apps vinculadas a la CPU pueden competir con los recursos de la CPU necesario para el seguimiento de movimiento.
Para verificar que el procesador localización y creación de mapas simultáneas (SLAM) se ejecute con normalidad; verifica que el mensaje de "frecuencia de VIO sea baja" mensaje no aparece en los registros del dispositivo Android:
adb logcat | grep 'VIO frequency low'
Evita la falta de CPU de ARCore
Cuando una sesión de ARCore está activa, tu app debe compartir CPU y GPU para dispositivos móviles limitadas de recursos con ARCore. Las apps vinculadas a la CPU pueden competir con los recursos de la CPU necesario para el seguimiento de movimiento.
Crea previamente las bases de datos de imágenes aumentadas
Cuando sea posible, crea previamente tus bases de datos de imágenes aumentadas durante el desarrollo. Si es necesario crear bases de datos de imágenes aumentadas durante el tiempo de ejecución o de forma dinámica agrega imágenes a una base de datos existente, asegúrate de agregar imágenes en un fondo para evitar bloquear el subproceso de IU principal.
Limita la cantidad de transmisiones de la cámara solicitadas
Cuando se usa la cámara compartida de Java, las apps pueden solicitar transmisiones de imágenes de CPU o GPU adicionales.