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, obejmujące gesty dotykowe i urządzenie ruchu.
- Renderowanie z rozsądną i stałą liczbą klatek. Użytkownicy ogółem preferować stałą i niższą liczbę klatek niż ta, i wyższe.
- 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 przestrzeni, 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, czasami będą się wyświetlać 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
Gdy niektóre funkcje ARCore są włączone, zwiększają wykorzystanie procesora. Rozważ wyłączyć te funkcje, gdy korzystanie z AR nie wymaga . Umożliwi to aplikacji dostęp do dodatkowych cykli procesora i usprawni wydajność termiczną 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 trakcie opracowywania i kontroli jakości można 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.
PowerManager#getCurrentThermalStatus()
(poziom API 29)PowerManager#getThermalHeadroom(int)
(Poziom API 30)
Identyfikowanie wyczerpywania procesora w ARCore
Gdy sesja ARCore jest aktywna, aplikacja musi współdzielić limit CPU i GPU w ARCore. Aplikacje powiązane z procesorem mogą konkurować z zasobami procesora wymagane do śledzenia ruchu.
Aby zweryfikować kod ARCore jednoczesna lokalizacja i mapowanie (SLAM) jest w stanie działać normalnie. Sprawdź, czy wartość opcji „VIOfrequency niska” 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ępne tworzenie baz danych obrazów rozszerzonych
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 kamery
Korzystając ze współdzielonego aparatu Java, aplikacje mogą żądania dodatkowych strumieni obrazów CPU lub GPU.