Możliwe spowolnienie działania witryny

Aby aplikacje AR były atrakcyjne dla użytkowników, muszą one dobrze działać.

Upewnij się, że aplikacja:

  • Reaguje na działania użytkownika, w tym na gesty dotykowe i ruch urządzenia.
  • Renderowanie z rozsądną i stałą liczbą klatek. Użytkownicy wolą stałą liczbę klatek na sekundę i mniejszą niż ta o zmiennej i wyższej liczbie klatek.
  • Zmniejsza zużycie baterii, umożliwiając użytkownikowi korzystanie z urządzenia do innych zadań w ciągu dnia lub dłuższe korzystanie z AR.
  • Tworzy atrakcyjną grę AR, w której treści generowane przez AR wydają się stabilne względem otoczenia i realistycznie wtapiają się w środowisko.

Sprawdzone metody zwiększania skuteczności

Aby zwiększyć atrakcyjność AR, pamiętaj o tych sprawdzonych metodach.

Użyj reklam zakotwiczonych, by poprawić skuteczność śledzenia

Chociaż można umieścić treści 3D za pomocą współrzędnych przestrzeni świata, zawsze używaj kotwicy, gdy to możliwe. ARCore dba o to, aby kotwice wyglądały stabilnie w stosunku do świata, nawet jeśli leżące na nich współrzędne zmieniały się i zmieniały się z czasem, gdy ARCore aktualizuje swoją wiedzę o świecie.

Obiekty wirtualne, które nie są dołączone do kotwicy, czasem będą się przeskakiwać i nie będą wyglądać stabilnie w stosunku do środowiska. Może to sprawić, że funkcja AR będzie mniej atrakcyjna dla użytkowników.

Uwzględnij charakterystykę wydajności w zależności od urządzenia

Urządzenia obsługujące ARCore obejmują szeroki zakres parametrów sprzętowych i wydajności. Wydajność urządzenia może się wahać z powodu tych czynników:

  • Procesor/GPU urządzenia, taktowanie zegara
  • Dostępna pamięć i przepustowość
  • Jakość aparatu/czujnika IMU
  • Inne różnice sprzętowe
  • Sterowniki systemu operacyjnego i urządzeń

Zalecamy testowanie aplikacji na różnych klasach urządzeń reprezentujących urządzenia, z których będą korzystać użytkownicy.

Wyłącz funkcje, które obciążają procesor, gdy nie są używane

Po włączeniu niektóre funkcje ARCore zwiększają wykorzystanie procesora. Rozważ wyłączenie tych funkcji, gdy nie potrzebujesz ich do korzystania z rzeczywistości rozszerzonej. Dzięki temu aplikacja może korzystać z dodatkowych cykli procesora, a także wydłuży czas pracy na baterii i wydajność cieplną.

Obecnie wykorzystanie procesora ARCore wzrasta, gdy w bieżącej sesji włączone jest Instant Placement lub Augmented Images. Aby zwiększyć wydajność procesora, postępuj zgodnie z tymi wytycznymi:

  • Po uruchomieniu pełnego śledzenia parametr Instant Placement powinien zostać wyłączony. Tę funkcję można wyłączyć w konfiguracji sesji.

  • Pole Augmented Images powinno być wyłączone, gdy nie jest ona wymagana do korzystania z rzeczywistości rozszerzonej. Aby wyłączyć obrazy rozszerzone, skonfiguruj null lub pustą bazę danych obrazów rozszerzonych w konfiguracji sesji.

Monitorowanie temperatury urządzenia

Podczas programowania i testowania kontroli jakości możesz używać interfejsów API termów Androida do monitorowania i śledzenia wydajności aplikacji na urządzeniu.

Pamiętaj, aby użyć kompilacji produkcyjnej aplikacji, a nie wersji deweloperskiej lub qa, która może mieć różne cechy wydajności w czasie działania aplikacji.

Wykrywanie głodu procesora ARCore

Gdy sesja ARCore jest aktywna, aplikacja musi współdzielić z ARCore ograniczone zasoby procesora mobilnego i GPU. Aplikacje powiązane z procesorem mogą konkurować z zasobami procesora wymaganymi do śledzenia ruchu.

Aby sprawdzić, czy równoczesna lokalizacja i mapowanie ARCore (SLAM) mogą działać prawidłowo, sprawdź, czy komunikat „Niska częstotliwość częstotliwości korzystania z VIOnie pojawia się w dziennikach urządzenia z Androidem:

adb logcat | grep 'VIO frequency low'

Unikanie głodu procesora ARCore

Gdy sesja ARCore jest aktywna, aplikacja musi współdzielić z ARCore ograniczone procesory mobilne i procesory graficzne. Aplikacje powiązane z procesorem mogą konkurować z zasobami procesora wymaganymi do śledzenia ruchu.

Tworzenie baz danych obrazów rozszerzonych

Jeśli to możliwe, na etapie programowania należy wstępnie utworzyć bazy danych obrazu rozszerzonego. Jeśli musisz utworzyć bazy danych rozszerzonych obrazów w czasie działania lub dynamicznie dodawać obrazy do istniejącej bazy danych, dodaj obrazy w wątku w tle, aby uniknąć zablokowania głównego wątku interfejsu.

Ogranicz liczbę żądanych strumieni z kamery

Gdy korzystasz z udostępnianego aparatu w języku Java, aplikacje mogą żądać dodatkowych strumieni obrazu z CPU lub GPU.