Xem xét hiệu suất

Để tạo ra trải nghiệm người dùng AR hấp dẫn, ứng dụng hỗ trợ AR của bạn cần phải hoạt động hiệu quả.

Đảm bảo ứng dụng của bạn:

  • Cảm nhận được phản hồi của người dùng, bao gồm cử chỉ chạm và chuyển động của thiết bị.
  • Hiển thị ở tốc độ khung hình hợp lý và nhất quán. Người dùng nói chung nên ưu tiên tốc độ khung hình nhất quán và thấp hơn tốc độ khung hình biến thiên cao hơn.
  • Giúp giảm thiểu tình trạng tiêu hao pin, cho phép người dùng sử dụng thiết bị của họ để làm những việc khác trong ngày hoặc tham gia nhiều hơn với trải nghiệm thực tế tăng cường.
  • Xây dựng trải nghiệm thực tế tăng cường hấp dẫn, trong đó nội dung do công nghệ thực tế tăng cường tạo ra ổn định với môi trường và kết hợp với môi trường thực tế.

Các phương pháp hay nhất về hiệu suất

Để tạo ra trải nghiệm AR hấp dẫn hơn, hãy thiết kế theo các phương pháp hay nhất sau đây.

Sử dụng thẻ liên kết để cải thiện hiệu suất theo dõi

Mặc dù có thể đặt nội dung 3D của bạn bằng tọa độ không gian thế giới, hãy luôn sử dụng văn bản liên kết bất cứ khi nào có thể. ARCore đảm bảo rằng các neo có vẻ ổn định so với thế giới, mặc dù tọa độ không gian thế giới cơ bản thay đổi và có thể chuyển đổi theo thời gian bất cứ khi nào ARCore cập nhật hiểu biết về thế giới.

Các đối tượng ảo không được gắn vào neo đôi khi sẽ xuất hiện để nhảy và sẽ không ổn định so với môi trường. Điều này có thể khiến trải nghiệm AR kém hấp dẫn hơn đối với người dùng.

Xem xét các đặc điểm hiệu suất theo thiết bị cụ thể

Các thiết bị hỗ trợ ARCore bao gồm nhiều đặc điểm phần cứng và hiệu suất. Hiệu suất của thiết bị có thể thay đổi do:

  • CPU/GPU của thiết bị, tốc độ xung nhịp
  • Hiện có bộ nhớ và băng thông
  • Chất lượng cảm biến máy ảnh/IMU
  • Sự khác biệt khác về phần cứng
  • Trình điều khiển thiết bị và hệ điều hành

Bạn nên thử nghiệm ứng dụng của mình trên các lớp thiết bị khác nhau đại diện cho các thiết bị mà người dùng sẽ sử dụng.

Tắt các tính năng dùng nhiều CPU khi không sử dụng

Một số tính năng ARCore tăng khả năng sử dụng CPU trong khi bật. Hãy cân nhắc tắt các tính năng này trong khoảng thời gian mà trải nghiệm AR không yêu cầu tính năng này. Việc này sẽ giúp ứng dụng của bạn có thêm chu kỳ CPU, đồng thời cải thiện hiệu suất nhiệt và thời lượng pin.

Hiện tại, mức sử dụng CPU ARCore tăng khi Instant Placement và/hoặc Augmented Images được bật cho phiên hiện tại. Làm theo các nguyên tắc sau để tăng hiệu quả sử dụng CPU:

  • Bạn nên tắt Instant Placement sau khi đã thiết lập tính năng theo dõi đầy đủ. Bạn có thể tắt tính năng này trong cấu hình phiên.

  • Bạn nên tắt Augmented Images bất cứ khi nào tính năng này không cần thiết cho trải nghiệm AR của bạn. Để tắt tính năng Hình ảnh tăng cường, hãy định cấu hình cơ sở dữ liệu null hoặc hình ảnh tăng cường trống trong cấu hình phiên hoạt động.

Giám sát nhiệt điện thoại

Trong quá trình phát triển và kiểm tra chất lượng, bạn có thể sử dụng API nhiệt của Android để theo dõi và theo dõi hiệu suất của ứng dụng trên thiết bị.

Hãy đảm bảo sử dụng bản dựng chính thức của ứng dụng (không phải bản dựng phát triển hoặc qa của ứng dụng có thể có các đặc điểm hiệu suất thời gian chạy khác nhau).

Xác định sự bỏ đói của CPU ARCore

Khi một phiên ARCore đang hoạt động, ứng dụng của bạn phải chia sẻ tài nguyên CPU và GPU bị giới hạn trên thiết bị di động với ARCore. Các ứng dụng liên kết với CPU có thể cạnh tranh với các tài nguyên CPU cần thiết để theo dõi chuyển động.

Để xác minh rằng bản địa hóa và liên kết (đồng thời) đối với tính năng ARCore\39;

adb logcat | grep 'VIO frequency low'

Tránh bỏ đói CPU ARCore

Khi một phiên ARCore đang hoạt động, ứng dụng của bạn phải chia sẻ thiết bị tài nguyên GPU và GPU di động có giới hạn với ARCore. Các ứng dụng liên kết với CPU có thể cạnh tranh với các tài nguyên CPU cần thiết để theo dõi chuyển động.

Tạo trước cơ sở dữ liệu Hình ảnh tăng cường

Khi có thể, hãy tạo trước cơ sở dữ liệu Augmented Image của bạn. Nếu cần tạo cơ sở dữ liệu Augmented Image vào thời gian chạy hoặc thêm động hình ảnh vào một cơ sở dữ liệu hiện có, hãy nhớ thêm hình ảnh vào một luồng trong nền để tránh việc chặn chuỗi giao diện người dùng chính.

Giới hạn số lượng luồng máy ảnh được yêu cầu

Khi sử dụng Máy ảnh dùng chung Java, ứng dụng có thể yêu cầu luồng hình ảnh GPU hoặc GPU bổ sung.