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

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

ตรวจสอบว่าแอปมีลักษณะดังนี้

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

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

หากต้องการสร้างประสบการณ์ AR ที่น่าสนใจมากขึ้น ให้ออกแบบโดยใช้ ของเราอยู่เสมอ

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

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

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

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

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

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

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

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

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

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

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

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

ตรวจสอบความร้อนของอุปกรณ์

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

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

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

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

เพื่อยืนยันว่า ARCore การปรับให้เข้ากับท้องถิ่นและการแมปพร้อมกัน (SLAM) จะทำงานได้ตามปกติ โปรดตรวจสอบว่า "ความถี่ต่ำของ 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 เพิ่มเติม