性能考虑因素

要打造引人入胜的 AR 用户体验,您的支持 AR 功能 性能。

确保您的应用:

  • 感觉可响应用户输入,包括触摸手势和设备 。
  • 以合理且一致的帧速率渲染。一般用户 建议采用一致的帧速率 变量和更高值。
  • 最大限度地节省电池电量,让用户能够将设备用于其他用途 或延长 AR 体验的用时。
  • 在呈现 AR 生成内容时打造引人入胜的 AR 体验 能够与自然环境融为一体 环境

性能最佳实践

若要打造更具吸引力的 AR 体验,请在设计时遵循以下最佳 做法。

使用锚点提升跟踪性能

尽管可以使用世界空间坐标放置 3D 内容, 始终尽可能使用锚点。 ARCore 可确保锚点相对于现实世界保持稳定,即使 底层世界空间坐标在 ARCore 触发时, 更新自身对世界的理解。

没有连接到锚点的虚拟对象偶尔看起来 跳跃,并且相对于环境而言不会显得稳定。这样一来, AR 体验对用户的吸引力会降低。

考虑设备特有的性能特征

支持 ARCore 的设备涵盖广泛 硬件和性能特征设备性能可能会因以下因素而发生变化:

  • 设备 CPU/GPU、时钟速度
  • 可用内存和带宽
  • 摄像头/IMU 传感器质量
  • 其他硬件差异
  • 操作系统和设备驱动程序

我们建议您在 代表了您的用户将会使用的设备

在不使用时停用 CPU 密集型功能

某些 ARCore 功能在启用时会增加 CPU 利用率。考虑 当您的 AR 体验不需要时停用这些功能 。这将为您的应用提供更多 CPU 周期,并改进 散热性能和电池续航时间。

目前,当 Instant Placement 和/或 已为当前会话启用Augmented Images。关注这些活动 提高 CPU 利用率效率的准则:

  • 完成全面跟踪后应停用Instant Placement 。您可以在会话配置中停用此功能。

  • 每当不再需要 Augmented Images 功能时,应将其停用 打造 AR 体验。如需停用增强图像,请配置 null 或 会话配置中的 Augmented Images 数据库为空。

监控设备热

在开发和质量检查测试期间,您可以使用 Android 的 Thermal API 来监控 并跟踪应用在设备上的表现

确保使用应用的正式版正式版(而不是开发版或 应用的 qa build 可能会具有不同的运行时性能 特征。

识别 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 资源竞争 动作跟踪的必需参数。

预先创建增强图像数据库

如果可能,请在开发时预先创建您的增强图像数据库。 如果需要在运行时或以动态方式创建增强图像数据库 向现有数据库添加图片时,请确保将图片添加到背景中 以免阻塞主界面线程

限制请求的摄像头视频流数量

使用 Java 共享相机时,应用可以执行以下操作: 请求额外的 CPU 或 GPU 图像流。