Xem xét hiệu suất

Để tạo trải nghiệm người dùng AR hấp dẫn, điều quan trọng là ứng dụng có hỗ trợ AR của bạn phải hoạt động tốt.

Hãy đảm bảo rằng ứng dụng của bạn:

  • Tạo cảm giác thích ứng với hoạt động đầu vào của người dùng, bao gồm các 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 thường thích tốc độ khung hình nhất quán và thấp hơn so với tốc độ khung hình biến đổi và cao hơn.
  • Giảm thiểu mức tiêu hao pin, cho phép người dùng sử dụng thiết bị để thực hiện các tác vụ khác trong ngày hoặc tương tác lâu hơn với trải nghiệm thực tế tăng cường.
  • Xây dựng trải nghiệm AR hấp dẫn, trong đó nội dung do AR tạo ra có vẻ ổn định so với môi trường và thực tế phù hợp với môi trường đó.

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

Để tạo trải nghiệm thực tế tăng cường hấp dẫn hơn, hãy lưu ý đến các phương pháp hay nhất sau đây khi thiết kế.

Sử dụng quảng cáo cố định cuối màn hình để cải thiện hiệu suất theo dõi

Mặc dù bạn có thể đặt nội dung 3D bằng cách sử dụng các toạ độ không gian thế giới, nhưng hãy luôn sử dụng neo bất cứ khi nào có thể. ARCore đảm bảo rằng các neo trông ổn định so với thế giới, mặc dù các toạ độ không gian cơ bản của thế giới thay đổi và có thể nhảy 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à có vẻ không ổn định so với môi trường. Điều này có thể khiến trải nghiệm thực tế tăng cường (AR) kém hấp dẫn hơn đối với người dùng.

Cân nhắc đặc điểm hiệu suất dành riêng cho thiết bị

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

  • CPU/GPU của thiết bị, tốc độ xung nhịp
  • Bộ nhớ và băng thông còn trống
  • Chất lượng máy ảnh/cảm biến 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 kiểm thử ứng dụng của mình trên các lớp thiết bị khác nhau, đại diện cho thiết bị mà người dùng của bạn sẽ sử dụng.

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

Một số tính năng ARCore giúp tăng mức sử dụng CPU khi được bật. Hãy cân nhắc tắt các tính năng này khi trải nghiệm thực tế tăng cường (AR) không cần đến chúng. Điều này sẽ cung cấp thêm chu kỳ CPU cho ứng dụng của bạn, đồ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 sẽ tăng lên khi bạn bật Instant Placement và/hoặc Augmented Images cho phiên hiện tại. Hãy làm theo các nguyên tắc sau để tăng hiệu suất 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 phần 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 thực tế tăng cường. Để tắt Hình ảnh tăng cường, hãy định cấu hình null hoặc cơ sở dữ liệu Hình ảnh tăng cường trống trong cấu hình phiên.

Theo dõi mức nhiệt của thiết bị

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

Hãy nhớ 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 khác nhau về hiệu suất thời gian chạy.

Xác định tình trạng đói CPU của ARCore

Khi phiên ARCore đang hoạt động, ứng dụng của bạn phải chia sẻ với ARCore một số tài nguyên CPU và GPU trên thiết bị di động. 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 hoạt động bản địa hoá và ánh xạ đồng thời (SLAM) của ARCore có thể chạy bình thường, hãy xác minh rằng thông báo "Tần suất VIP" không xuất hiện trong nhật ký thiết bị Android:

adb logcat | grep 'VIO frequency low'

Tránh tình trạng đói CPU ARCore

Khi phiên ARCore hoạt động, ứng dụng của bạn phải chia sẻ thiết bị tài nguyên GPU và CPU 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 sẵn cơ sở dữ liệu Hình ảnh tăng cường

Nếu có thể, hãy tạo sẵn cơ sở dữ liệu Hình ảnh tăng cường của bạn tại thời điểm phát triển. Nếu cần phải tạo cơ sở dữ liệu Hình ảnh tăng cường trong thời gian chạy hoặc tự động thêm hình ảnh vào cơ sở dữ liệu hiện có, hãy nhớ thêm hình ảnh trong luồng nền để tránh chặn luồng 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 Java Shared Camera, ứng dụng có thể yêu cầu thêm luồng hình ảnh CPU hoặc GPU.