Możliwe spowolnienie działania witryny

Aby wrażenia użytkowników AR były atrakcyjne, warto zadbać o to, jest skuteczne.

Upewnij się, że aplikacja:

  • Responsywnie reaguje na dane wejściowe użytkownika, w tym gesty dotykowe i urządzenie ruchu.
  • Renderowanie z rozsądną i stałą liczbą klatek. Użytkownicy zazwyczaj wolą stałą i niższą liczbę klatek na sekundę niż zmienną i wyższą.
  • Minimalizuje zużycie baterii, dzięki czemu użytkownik może używać urządzenia do innych celów zadań w ciągu dnia lub dłużej korzystać z AR.
  • tworzą atrakcyjne środowisko AR, w którym pojawiają się treści wygenerowane przez tę technologię. jest stabilna w odniesieniu do środowiska i realistycznie wtapia się dla środowiska.

Sprawdzone metody zwiększania skuteczności

Aby tworzyć ciekawsze funkcje AR, zaprojektuj je, korzystając z następujących w kontekście różnych metod.

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

Chociaż możliwe jest umieszczanie materiałów 3D przy użyciu współrzędnych kosmosu, gdy tylko jest to możliwe, używaj kotwicy. ARCore zapewnia, że kotwice wyglądają stabilnie względem świata, nawet jeśli podstawowe współrzędne kosmosu zmieniają się i mogą przeskakiwać z upływem czasu, gdy ARCore zmienia jego rozumienie świata.

Obiekty wirtualne, które nie są dołączone do kotwicy, będą czasami wyświetlane i nie będą stabilne względem otoczenia. Może to sprawić, że Tryb AR jest mniej atrakcyjny dla użytkowników.

Weź pod uwagę charakterystykę wydajności poszczególnych urządzeń

Urządzenia obsługujące ARCore obejmują szeroki zakres usług w zakresie sprzętu i wydajności. Wydajność urządzenia może się różnić z tych powodów:

  • CPU/GPU urządzenia, taktowanie
  • Dostępna pamięć i przepustowość
  • Jakość czujnika aparatu/IMU
  • Inne różnice sprzętowe
  • Sterowniki systemów operacyjnych i urządzeń

Zalecamy przetestowanie aplikacji na różnych klasach urządzeń, które: reprezentatywnych dla urządzeń, z których będą korzystać użytkownicy.

Wyłącz funkcje obciążające procesor, gdy nie są używane

Niektóre funkcje ARCore zwiększają wykorzystanie procesora po włączeniu. Rozważ wyłączyć te funkcje, gdy korzystanie z AR nie wymaga . Dzięki temu Twoja aplikacja będzie mieć dostępne dodatkowe cykle procesora, a także poprawi się jej wydajność termiczna i żywotność baterii.

Obecnie wykorzystanie procesora ARCore wzrasta, gdy Instant Placement lub Metoda Augmented Images jest włączona w bieżącej sesji. Obserwuj te wytyczne dotyczące zwiększania efektywności wykorzystania procesora:

  • Funkcja Instant Placement powinna zostać wyłączona po włączeniu pełnego śledzenia. . Tę funkcję można wyłączyć w konfiguracji sesji.

  • Interfejs Augmented Images powinien być wyłączony, gdy ta funkcja nie jest wymagana korzystanie z AR. Aby wyłączyć obrazy rozszerzone, skonfiguruj null lub pustą bazę danych obrazów rozszerzonych w konfiguracji sesji.

Monitoruj temperaturę urządzenia

W czasie programowania i testów kontroli jakości możesz używać interfejsów termicznych Androida do monitorowania i śledzić wydajność aplikacji na urządzeniu.

Używaj kompilacji produkcyjnej, a nie wersji deweloperskiej lub kompilacja aplikacji qa, która może mieć inną wydajność działania. dla niektórych cech produktu.

Identyfikowanie niedoboru procesora ARCore

Gdy sesja ARCore jest aktywna, aplikacja musi współdzielić limit CPU i GPU w ARCore. Aplikacje korzystające z procesora mogą konkurować z zasobami procesora wymaganymi do śledzenia ruchu.

Aby zweryfikować kod ARCore jednoczesna lokalizacja i mapowanie (SLAM) jest w stanie działać normalnie. Sprawdź, czy wartość opcji „VIO niska częstotliwość” wiadomość nie pojawia się w dziennikach urządzenia z Androidem:

adb logcat | grep 'VIO frequency low'

Unikanie wyczerpywania procesora przez ARCore

Gdy sesja ARCore jest aktywna, aplikacja musi współdzielić limit CPU i GPU urządzeń z zasobami ARCore. Aplikacje powiązane z procesorem mogą konkurować z zasobami procesora wymagane do śledzenia ruchu.

Wstępnie utwórz bazy danych rozszerzonych obrazów

Jeśli to możliwe, utwórz wstępnie bazy danych obrazów rozszerzonych na etapie prac programistycznych. Jeśli trzeba tworzyć bazy danych obrazów rozszerzonych w czasie działania lub dynamicznie dodaj obrazy do istniejącej bazy danych, pamiętaj, aby dodać obrazy w tle w wątku, aby uniknąć zablokowania głównego wątku UI.

Ogranicz liczbę żądanych strumieni kamer

Korzystając ze współdzielonego aparatu Java, aplikacje mogą żądania dodatkowych strumieni obrazów CPU lub GPU.