ข้อพิจารณาด้านประสิทธิภาพ

แอปที่พร้อมใช้งาน AR จะต้องมีประสิทธิภาพดีเพื่อสร้างประสบการณ์ของผู้ใช้ AR ที่น่าสนใจ

ตรวจสอบว่าแอปมีคุณสมบัติดังนี้

  • รู้สึกตอบสนองต่อข้อมูลจากผู้ใช้ ซึ่งรวมถึงท่าทางสัมผัสการแตะและการเคลื่อนไหวของอุปกรณ์
  • แสดงภาพด้วยอัตราเฟรมที่เหมาะสมและสม่ำเสมอ โดยทั่วไปแล้วผู้ใช้ต้องการอัตราเฟรมที่สม่ำเสมอและต่ำกว่าอัตราเฟรมที่เปลี่ยนแปลงและสูงขึ้น
  • ลดปริมาณการใช้แบตเตอรี่ ทำให้ผู้ใช้ใช้อุปกรณ์เพื่อทำงานอื่นๆ ได้ตลอดทั้งวัน หรือมีส่วนร่วมกับประสบการณ์การใช้งาน AR ได้นานขึ้น
  • สร้างประสบการณ์ AR ที่น่าสนใจโดยเนื้อหาที่ AR สร้างขึ้นมีความเสถียรเมื่อเทียบกับสภาพแวดล้อม และกลมกลืนกับสภาพแวดล้อมอย่างสมจริง

แนวทางปฏิบัติแนะนำด้านประสิทธิภาพ

หากต้องการสร้างประสบการณ์ AR ที่น่าสนใจยิ่งขึ้น ให้ออกแบบโดยคำนึงถึงแนวทางปฏิบัติแนะนำต่อไปนี้

ใช้โฆษณา Anchor เพื่อปรับปรุงประสิทธิภาพการติดตาม

แม้ว่าคุณจะวางเนื้อหา 3 มิติโดยใช้พิกัดอวกาศของโลกได้ แต่ก็ใช้สมอเรือทุกครั้งที่เป็นไปได้ ARCore ช่วยให้จุดยึดมีความเสถียรเมื่อเทียบกับโลก แม้ว่าพิกัดของอวกาศในโลกปัจจุบันจะเปลี่ยนไปและอาจเปลี่ยนแปลงไปตามเวลาเมื่อ ARCore อัปเดตความเข้าใจในโลก

วัตถุเสมือนที่ไม่ได้แนบอยู่กับ Anchor จะปรากฏเป็นแบบข้ามเป็นครั้งคราวและจะไม่ปรากฏที่เสถียรเมื่อเทียบกับสภาพแวดล้อม วิธีนี้อาจทำให้ประสบการณ์ AR น่าสนใจน้อยลงสำหรับผู้ใช้

พิจารณาลักษณะด้านประสิทธิภาพเฉพาะอุปกรณ์

อุปกรณ์ที่รองรับ ARCore ครอบคลุมฮาร์ดแวร์ และประสิทธิภาพการทำงานที่หลากหลาย ประสิทธิภาพของอุปกรณ์อาจแตกต่างกันไปเนื่องจากสาเหตุต่อไปนี้

  • CPU/GPU ของอุปกรณ์, ความเร็วนาฬิกา
  • หน่วยความจำและแบนด์วิดท์ที่ใช้ได้
  • คุณภาพเซ็นเซอร์ของกล้อง/IMU
  • ความแตกต่างอื่นๆ ของฮาร์ดแวร์
  • ไดรเวอร์ระบบปฏิบัติการและอุปกรณ์

เราขอแนะนำให้ทดสอบแอปในอุปกรณ์ประเภทต่างๆ ซึ่งแสดงถึงอุปกรณ์ที่ผู้ใช้จะใช้

ปิดใช้ฟีเจอร์ที่ใช้ CPU มากเมื่อไม่ได้ใช้งาน

ฟีเจอร์ของ ARCore บางอย่างจะเพิ่มการใช้งาน CPU ขณะเปิดใช้ ลองปิดใช้ฟีเจอร์เหล่านี้ในช่วงเวลาที่ไม่จำเป็นต้องใช้ฟีเจอร์ดังกล่าว ซึ่งจะทำให้แอปมีรอบของ CPU เพิ่มเติม และปรับปรุงประสิทธิภาพในการทำความร้อนและอายุการใช้งานแบตเตอรี่

ปัจจุบันการใช้งาน CPU ของ ARCore จะเพิ่มขึ้นเมื่อเปิดใช้ Instant Placement และ/หรือ Augmented Images สำหรับเซสชันปัจจุบัน ปฏิบัติตามหลักเกณฑ์เหล่านี้เพื่อเพิ่มประสิทธิภาพการใช้งาน CPU

  • ควรปิดใช้ Instant Placement เมื่อสร้างการติดตามอย่างเต็มรูปแบบแล้ว คุณสามารถปิดใช้ฟีเจอร์นี้ในการกำหนดค่าเซสชัน

  • ควรปิดใช้ Augmented Images เมื่อไม่จำเป็นต้องใช้ฟีเจอร์นี้กับประสบการณ์ AR ของคุณ หากต้องการปิดใช้ Augmented Images ให้กำหนดค่า null หรือฐานข้อมูล Augmented Images ที่ว่างเปล่าในการกำหนดค่าเซสชัน

ตรวจสอบอุณหภูมิของอุปกรณ์

ระหว่างการพัฒนาและการทดสอบ QA คุณสามารถใช้ API ความร้อนของ Android เพื่อตรวจสอบและติดตามประสิทธิภาพของแอปในอุปกรณ์

ตรวจสอบว่าใช้บิลด์เวอร์ชันที่ใช้งานจริงของแอป (ไม่ใช่บิลด์การพัฒนาหรือ qa ของแอปที่อาจมีลักษณะเฉพาะของประสิทธิภาพรันไทม์ที่แตกต่างกัน

ระบุความอดอยากของ CPU ของ ARCore

เมื่อเซสชัน ARCore ทำงาน แอปต้องแชร์ทรัพยากร CPU และ GPU บนอุปกรณ์เคลื่อนที่แบบจำกัดกับ ARCore แอปที่เชื่อมโยงกับ CPU สามารถแข่งขันกับทรัพยากร CPU ที่จำเป็นสำหรับการติดตามการเคลื่อนไหว

หากต้องการยืนยันว่าการแปลและการจับคู่พร้อมกัน (SLAM) ของ ARCore ทำงานได้ตามปกติ โปรดตรวจสอบว่าข้อความ "ความถี่ VIO ต่ำ" ไม่ปรากฏในบันทึกของอุปกรณ์ Android ดังนี้

adb logcat | grep 'VIO frequency low'

หลีกเลี่ยงการขาดแคลน CPU ของ ARCore

เมื่อเซสชัน ARCore ทำงาน แอปต้องแชร์อุปกรณ์ทรัพยากร CPU และ GPU ของอุปกรณ์เคลื่อนที่ร่วมกับ ARCore แบบจำกัด แอปที่เชื่อมโยงกับ CPU สามารถแข่งขันกับทรัพยากร CPU ที่จำเป็นสำหรับการติดตามการเคลื่อนไหว

สร้างฐานข้อมูล Augmented Images ไว้ล่วงหน้า

หากเป็นไปได้ ให้สร้างฐานข้อมูล Augmented Image ไว้ล่วงหน้าในตอนที่พัฒนา หากจำเป็นต้องสร้างฐานข้อมูล Augmented Image ระหว่างรันไทม์หรือเพิ่มรูปภาพแบบไดนามิกลงในฐานข้อมูลที่มีอยู่ อย่าลืมเพิ่มรูปภาพในชุดข้อความพื้นหลังเพื่อไม่ให้บล็อกเทรด UI หลัก

จำกัดจำนวนสตรีมจากกล้องที่ขอ

เมื่อใช้กล้องที่แชร์ Java แอปจะขอสตรีมรูปภาพที่ใช้ CPU หรือ GPU เพิ่มเติมได้