パフォーマンスに関する注意事項

魅力的な AR ユーザー エクスペリエンスを実現するには、AR 対応の 確認します

アプリが以下の要件を満たしていることを確認します。

  • タップ操作やデバイスなどのユーザー入力に反応する あります。
  • 妥当で一貫したフレームレートでレンダリングされます。ユーザー全般 より低い一定のフレームレートが望ましい 作成します。
  • バッテリーの消耗が最小限に抑えられるため、ユーザーはデバイスを他の用途に使用できるようになります AR 体験をより長く楽しめるようになります
  • AR 生成コンテンツが表示される魅力的な AR エクスペリエンスを構築します 環境に応じて安定しており、現実的には できます。

パフォーマンスに関するベスト プラクティス

より魅力的な AR エクスペリエンスを作成するには、以下のベスト プラクティスを参考にして設計してください 留意してください。

アンカーを使用してトラッキングのパフォーマンスを高める

ワールド空間座標を使用して 3D コンテンツを配置することもできますが、 常にアンカーを使用してください。 ARCore を使用すると、 基になるワールド空間の座標は変化するため、ARCore が変化するたびに 世界に対する認識を更新します。

アンカーにアタッチされていない仮想オブジェクトは、 環境に対して安定しているとはいえません。これにより、 AR エクスペリエンスはユーザーにとってあまり魅力的ではありません。

デバイス固有のパフォーマンス特性を検討する

ARCore 対応デバイスは幅広く対応 ハードウェアとパフォーマンス特性の 組み合わせが求められますデバイスのパフォーマンスは、次の要因によって変わる可能性があります。

  • デバイスの CPU/GPU、クロック速度
  • 使用可能なメモリと帯域幅
  • カメラ/IMU センサーの品質
  • その他のハードウェアの違い
  • オペレーティング システムとデバイス ドライバ

以下の要件を満たすさまざまなクラスのデバイスでアプリをテストすることをおすすめします。 ユーザーが使用するデバイスの代表的な名前になります。

CPU 使用率の高い機能を使用していないときは無効にする

ARCore の一部の機能を有効にすると、CPU 使用率が増加します。検討事項 AR 体験が不要なときに、これらの機能を無効にする できます。これにより、アプリで追加の CPU サイクルが利用可能になり、 向上させます。

現在、ARCore の CPU 使用率は、Instant Placement または 現在のセッションで Augmented Images が有効になっています。フォローする いくつかご紹介します。

  • トラッキングをすべて完了したら、Instant Placement を無効にする必要があります あります。この機能はセッション設定で無効にできます。

  • この機能が不要な場合は、Augmented Images を無効にする必要があります。 ぜひお試しください拡張画像を無効にするには、null を設定するか、 空の Augmented Images データベースを示しています。

デバイスの温度をモニタリングする

開発時と QA テスト時に、Android の Thermal API を使用して、 デバイス上のアプリのパフォーマンスを追跡できます

アプリの製品版ビルドを(開発版やビルドビルドではなく)使用するようにします。 ランタイム パフォーマンスが異なる可能性があるアプリの qa ビルド 説明します。

ARCore の CPU 不足を特定する

ARCore セッションがアクティブな場合、アプリは制限付きのモバイル CPU と GPU を共有する必要がある 作成しました。CPU にバインドされたアプリは CPU リソースと競合可能 モーション トラッキングに必要です。

ARCore の ローカライズとマッピングを同時に行う (SLAM)正常に動作する場合は、「VIO 周波数が低い」ことを確認します。メッセージ Android デバイスのログには表示されません

adb logcat | grep 'VIO frequency low'

ARCore の CPU 不足を回避する

ARCore セッションがアクティブな場合、アプリは制限付きのモバイル CPU と GPU を共有する必要がある リソース デバイスを作成します。CPU にバインドされたアプリは CPU リソースと競合可能 モーション トラッキングに必要です。

拡張画像のデータベースを事前に作成する

可能であれば、開発時に拡張画像データベースを事前に作成します。 拡張画像データベースをランタイムに、または動的に作成する必要がある場合 既存のデータベースに画像を追加するには、必ず背景で画像を追加してください メイン UI スレッドをブロックしないようにします。

リクエストするカメラ ストリームの数を制限する

Java 共有カメラを使用すると、アプリで次の操作を行えます。 追加の CPU または GPU イメージストリームを リクエストできます