效能注意事項

如要打造引人入勝的 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 版本可能具有不同的執行階段效能

找出 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 映像檔串流。