如要打造引人入勝的 AR 使用者體驗,請務必支援 AR 技術 表現優異。
確保應用程式符合以下條件:
- 對使用者輸入內容 (包括觸控手勢和裝置) 做出回應 動作
- 以合理且一致的影格速率轉譯。一般使用者 偏好一致且較低的畫面更新率 變數以上。
- 盡可能降低電池耗電量,讓使用者將裝置用於其他用途 或長時間與 AR 互動。
- 在 AR 生成內容顯示位置,打造引人入勝的 AR 體驗 以相對於環境的方式穩定, 環境。
效能最佳做法
想要打造更引人入勝的 AR 體驗,設計時請採用以下最佳做法 遵循最佳做法
使用錨定廣告改善追蹤成效
雖然您可以使用世界空間座標放置 3D 內容, 一律盡可能使用錨點。 ARCore 可確保錨點與世界相對應 基礎世界空間座標發生變化,且 ARCore 有時可能會隨著時間的推移而逐漸停止 讓更多人對這個世界更加瞭解。
未附加至錨點的虛擬物件有時會出現 跳躍,而且不會與環境相對保持穩定。這樣一來 AR 體驗對使用者來說較不吸引人,
考量特定裝置的效能特性
ARCore 支援的裝置涵蓋各式各樣的裝置 硬體和效能特性裝置效能可能出於下列原因:
- 裝置 CPU/GPU、時脈速度
- 可用記憶體和頻寬
- 相機/IMU 感應器品質
- 其他硬體差異
- 作業系統和裝置驅動程式
建議您使用不同類型的裝置來測試應用程式 代表使用者要使用的裝置
在不使用時停用會耗用大量 CPU 的功能
某些 ARCore 功能在啟用時可提高 CPU 使用率。您可以考慮使用 當你的 AR 體驗不需要時,停用這些功能 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件這麼做可為應用程式提供額外的 CPU 週期,並改善 溫度和電池續航力
目前,當 Instant Placement 和/或 目前的工作階段已啟用「Augmented Images」。請按照這些 提升 CPU 使用率效率的指南:
完整追蹤完畢後,應停用「Instant Placement」 長期以來的目標您可以在工作階段設定中停用這項功能。
不需要這項功能時,應停用「Augmented Images」 你的 AR 使用體驗如要停用擴增圖片,請設定
null
或 工作階段設定中為空白的擴增圖片資料庫。
監控裝置溫度
在開發和品質確保測試期間,您可以使用 Android 的熱力 API 監控 並在裝置上追蹤應用程式的效能
請務必使用「正式版」建構應用程式 (而非開發或 qa 版本可能具有不同的執行階段效能
PowerManager#getCurrentThermalStatus()
敬上 (API 級別 29)。PowerManager#getThermalHeadroom(int)
敬上 (API 級別 30)
瞭解 ARCore CPU 飢餓
啟用 ARCore 工作階段時,應用程式必須共用有限的行動裝置 CPU 和 GPU 使用 ARCore。受到 CPU 限制的應用程式可能會與 CPU 資源競爭 必須使用動作追蹤功能。
為了驗證 ARCore 的 同時本地化和製圖 (SLAM) 正常執行,請確認「VIO 頻率較低」訊息 不會顯示在 Android 裝置記錄中:
adb logcat | grep 'VIO frequency low'
避免 ARCore CPU 飢餓
啟用 ARCore 工作階段時,應用程式必須共用有限的行動裝置 CPU 和 GPU 使用 ARCore。受到 CPU 限制的應用程式可能會與 CPU 資源競爭 必須使用動作追蹤功能。
預先建立擴增圖片資料庫
請盡可能在開發期間預先建立擴增圖片資料庫。 是否需要在執行階段或動態 將圖片新增至現有資料庫,且務必在背景新增圖片 避免阻斷主 UI 執行緒。
限制要求的攝影機串流數量
使用 Java 共用相機時,應用程式可以 要求額外的 CPU 或 GPU 映像檔串流。