성능 고려 사항

매력적인 AR 사용자 경험을 만들려면 AR 지원 앱이 잘 작동하는 것이 중요합니다.

앱이 다음을 수행하는지 확인하세요.

  • 터치 제스처 및 장치 동작을 포함한 사용자 입력에 반응하는 느낌입니다.
  • 합리적이고 일관된 프레임 속도로 렌더링합니다. 사용자는 일반적으로 가변적이고 높은 프레임 속도보다 일관되고 낮은 프레임 속도를 선호합니다.
  • 배터리 소모를 최소화하여 사용자가 하루 종일 다른 작업에 장치를 사용하거나 AR 경험에 더 오래 참여할 수 있습니다.
  • AR 생성 콘텐츠가 환경에 비해 안정적으로 나타나고 환경과 사실적으로 조화되는 매력적인 AR 경험을 구축합니다.

성능 모범 사례

더욱 매력적인 AR 경험을 만들려면 다음 모범 사례를 염두에 두고 설계하세요.

앵커를 사용하여 추적 성능 향상

세계 공간 좌표를 사용하여 3D 콘텐츠를 배치할 수 있지만 가능하면 항상 앵커를 사용하십시오 . ARCore는 기본 세계 공간 좌표가 변경되고 ARCore가 세계에 대한 이해를 업데이트할 때마다 시간이 지남에 따라 점프할 수 있는 경우에도 앵커가 세계에 대해 안정적으로 표시되도록 합니다.

앵커에 연결되지 않은 가상 개체는 때때로 점프하는 것처럼 보이며 환경에 비해 안정적으로 나타나지 않습니다. 이는 사용자에게 AR 경험을 덜 매력적으로 만들 수 있습니다.

기기별 성능 특성 고려

ARCore 지원 장치 는 광범위한 하드웨어 및 성능 특성을 포함합니다. 장치 성능은 다음으로 인해 달라질 수 있습니다.

  • 장치 CPU/GPU, 클럭 속도
  • 사용 가능한 메모리 및 대역폭
  • 카메라/IMU 센서 품질
  • 기타 하드웨어 차이점
  • 운영 체제 및 장치 드라이버

사용자가 사용할 기기를 대표하는 다양한 종류의 기기에서 앱을 테스트하는 것이 좋습니다.

사용하지 않을 때 CPU 집약적인 기능 비활성화

특정 ARCore 기능은 활성화되어 있는 동안 CPU 사용률을 높입니다. AR 경험에 필요하지 않은 시간에는 이러한 기능을 비활성화하는 것이 좋습니다. 이렇게 하면 앱에서 추가 CPU 주기를 사용할 수 있고 열 성능과 배터리 수명이 향상됩니다.

현재 ARCore CPU 사용률은 현재 세션에 대해 Instant Placement 및/또는 Augmented Images 가 활성화된 경우 증가합니다. CPU 활용 효율성을 높이려면 다음 지침을 따르십시오.

  • 전체 추적이 설정되면 Instant Placement 를 비활성화해야 합니다. 이 기능은 세션 구성에서 비활성화할 수 있습니다.

  • AR 경험에 기능이 필요하지 않을 때마다 Augmented Images 를 비활성화해야 합니다. 증강 이미지를 비활성화하려면 세션 구성에서 null 또는 빈 증강 이미지 데이터베이스를 구성하십시오.

장치 열 모니터링

개발 및 QA 테스트 중에 Android의 열 API를 사용하여 기기에서 앱의 성능을 모니터링하고 추적할 수 있습니다.

앱의 프로덕션 빌드를 사용해야 합니다(다른 런타임 성능 특성을 가질 수 있는 앱의 개발 또는 q 빌드가 아님).

ARCore CPU 기아 방지

ARCore 세션이 활성화되면 앱은 제한된 모바일 CPU 및 GPU 리소스 장치를 ARCore와 공유해야 합니다. CPU 바운드 앱은 동작 추적 에 필요한 CPU 리소스와 경쟁할 수 있습니다.

증강 이미지 데이터베이스 사전 생성

가능하면 개발 시 증강 이미지 데이터베이스를 미리 생성하십시오. 런타임에 증강 이미지 데이터베이스를 생성하거나 기존 데이터베이스에 동적으로 이미지를 추가해야 하는 경우 기본 UI 스레드를 차단하지 않도록 배경 스레드에 이미지를 추가해야 합니다.

요청된 카메라 스트림 수 제한

Java 공유 카메라 를 사용할 때 앱은 추가 CPU 또는 GPU 이미지 스트림을 요청할 수 있습니다.