เริ่มต้นใช้งานเฟรมเวิร์กประสิทธิภาพแบบไดนามิกของ Android (ADPF) ใน Unreal Engine

เฟรมเวิร์กประสิทธิภาพแบบไดนามิกของ Android (ADPF) เป็นเครื่องมือที่มีประสิทธิภาพจาก Google สําหรับนักพัฒนาแอปที่ต้องการเพิ่มประสิทธิภาพของแอปพลิเคชัน ADPF จะแสดงข้อมูลแบบเรียลไทม์เกี่ยวกับสถานะความร้อนของอุปกรณ์ผ่าน API ความร้อน จากนั้นระบบจะใช้ข้อมูลดังกล่าวเพื่อปรับการตั้งค่ากราฟิกในแอปพลิเคชัน

Arm ได้พัฒนาเวอร์ชันเดโมโดยใช้ Unreal Engine และ ADPF เพื่อศึกษาวิธีใช้ ADPF เพื่อเพิ่มประสิทธิภาพเกมเพื่อวัตถุประสงค์ในการวิจัย

ADPF จะตรวจสอบสถานะความร้อน โดยระบบจะปรับคุณภาพกราฟิกในเครื่องมือสร้างเกมให้สอดคล้องกัน

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

ก่อนเริ่มต้น

ก่อนดูการสาธิตอย่างละเอียด โปรดอ่านเอกสารประกอบอย่างเป็นทางการของ Google เกี่ยวกับ ADPF เอกสารประกอบนี้เป็นแหล่งข้อมูลที่มีค่าซึ่งให้ข้อมูลเชิงลึกและคำแนะนำอย่างละเอียดเกี่ยวกับวิธีใช้ ADPF

อย่างไรก็ตาม สําหรับผู้ที่ต้องการการเรียนรู้ที่ปรับแต่งได้ พื้นที่เก็บตัวอย่าง ADPF จะมีตัวอย่างการใช้งานจริงของ ADPF ในแอปพลิเคชัน Android

การปรับการตั้งค่ากราฟิก

ในบริบทของ Unreal Engine เราสามารถปรับการตั้งค่ากราฟิกแบบไดนามิกเพื่อรักษาประสิทธิภาพ

เราใช้เครื่องมือตรวจสอบสถานะความร้อนและ Thermal Headroom API ใน ADPF เพื่อตรวจสอบการจำกัดความร้อน จากนั้นคุณสามารถปรับการตั้งค่าคุณภาพ เช่น คุณภาพเงา คุณภาพการสะท้อน และคุณภาพพื้นผิว เมื่ออุปกรณ์เริ่มจำกัดคุณภาพ

การตั้งค่าคุณภาพกราฟิกต่อไปนี้ใน Unreal Engine ใช้เพื่อแก้ไขการตั้งค่าต่างๆ

  • ViewDistanceQuality
  • ShadowQuality
  • GlobalIlluminationQuality
  • ReflectionQuality
  • AntiAliasingQuality
  • TextureQuality
  • VisualEffectQuality
  • PostProcessingQuality
  • FoliageQuality
  • ShadingQuality
  • OverallScalabilityLevel

การทดสอบในสถานการณ์จริง

Arm สร้างเกมเดโมของเราเอง ซึ่งใช้เพื่อวิจัยเทคโนโลยีกราฟิกและเกมบนอุปกรณ์เคลื่อนที่ ปีนี้เราได้ทดสอบ ADPF ในหนึ่งในนั้น ซึ่งเป็น SteelArms Demo

SteelArms มีระดับความเข้มข้นของกราฟิกที่ต่างกันและมีภาระงานของ CPU จำนวนมาก เกมนี้สร้างขึ้นให้เหมือนกับเกมมือถือสมัยใหม่ เพื่อให้เราจำลองลักษณะการทํางานของเกมในโทรศัพท์มือถือในปัจจุบันได้ นอกจากนี้ เรายังทดสอบได้ว่าเทคโนโลยีต่างๆ อาจทำงานอย่างไรในเกมบนอุปกรณ์เคลื่อนที่ที่ใช้ Arm

ผลลัพธ์

รูปที่ 1: การเปรียบเทียบภาพเต็มของ SteelArms ที่มีและไม่มี ADPF

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

รูปที่ 2: เกมที่มีการผสานรวม ADPF: หน้าจอแยก

มุมมองแบบแยกหน้าจอของการตั้งค่ากราฟิกสูงสุดทางด้านซ้าย (หุ่นยนต์สีน้ำเงิน) และการตั้งค่ากราฟิกต่ำสุดทางด้านขวา (หุ่นยนต์สีแดง)

รูปที่ 3: เกมที่มีการผสานรวม ADPF: การเปรียบเทียบรายละเอียดแบบเคียงข้างกัน
รูปที่ 4: เกมที่มีการผสานรวม ADPF: ภาพเปรียบเทียบ

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

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

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

ผลลัพธ์

รูปที่ 5: การเปรียบเทียบ FPS, อุณหภูมิของอุปกรณ์, สถานะความร้อน และ Headroom เมื่อเปิด/ปิด ADPF อัตราเฟรมเพิ่มขึ้นประมาณ 57%

อุปกรณ์จะหลีกเลี่ยงการร้อนเกินไปและรักษาระดับความร้อนไว้ที่ 1.0

การใช้พลังงาน

รูปที่ 6: การเปรียบเทียบการใช้พลังงานเมื่อเปิด/ปิด ADPF

ผลการค้นหา ADPF

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

บทสรุป

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

อุปกรณ์ทั้งใหม่และเก่าจะได้รับประโยชน์จากการใช้ ADPF ซึ่งช่วยให้เกมทำงานได้ตามมาตรฐานที่สูงในอุปกรณ์รุ่นก่อนๆ โดยไม่ต้องเพิ่มการปรับปรุง