การเพิ่มประสิทธิภาพสำหรับเกม

ใน Android 14 โหมดพลังงานใหม่ที่ชื่อว่า GAME ในกรอบการทำงานแบบไดนามิกของ Android (ADPF) ทำให้สามารถปรับแต่ง ประสิทธิภาพของโทรศัพท์ในระหว่างการใช้งานเกม GAME จะแจ้งไปยัง Power HAL ว่า แอปเกมจะอยู่เบื้องหน้า ตัวบ่งชี้นี้ช่วยให้ HAL พลังงานสามารถ นำกลยุทธ์การจัดการพลังงานไปใช้เมื่อมีการเล่นเกม เพื่อให้ผู้ใช้ จะได้ประสิทธิภาพที่เสถียรและดีขึ้น

เพื่อปรับปรุงเวลาที่ใช้ในการโหลดของเกม Android 13 เปิดตัวโหมดพลังงานใหม่ที่ชื่อว่า GAME_LOADING ในสกุลเงิน ADPF GAME_LOADING จะระบุว่าแอปเกมอยู่ในสถานะการโหลดหรือไม่ HAL พลังงานจะช่วยเพิ่มประสิทธิภาพในการโหลด ตัวบ่งชี้นี้ช่วยให้ระบบ HAL พลังงาน เป็นมาตรการเพิ่มประสิทธิภาพ ที่สามารถโหลดเกมได้เร็วขึ้น

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

การตรวจจับโหมดพลังงานและการแจ้งเตือน

ส่วนนี้จะอธิบายวิธีจัดการโหมด GAME และ GAME_LOADING ของ Power Manager

โหมดพลังงานของ GAME

โหมดพลังงานใหม่ GAME ใน Android 14 บ่งชี้ว่า บริการ Power Manager ที่ผู้ใช้กำลังเล่นเกม เมื่อ Power HAL ได้รับแจ้ง GAME อุปกรณ์จะปรับพลังงานเพื่อเพิ่มประสิทธิภาพ ลดอุณหภูมิ และขยายพลังงาน อายุการใช้งานแบตเตอรี่ขณะเล่นเกม

รูปต่อไปนี้อธิบายโฟลว์ข้อมูลไปยัง Power HAL เพื่อ ระบุโหมดพลังงานของ GAME:

โหมดเกม

รูปที่ 1 โฟลว์ข้อมูลเพื่อบ่งบอกว่ากำลังเล่นเกมอยู่

โหมดเปิด/ปิด GAME จะได้รับการตั้งค่าเสมอสำหรับแอปที่มี appCategory ของ GAME ใน AndroidManifest.xml

โหมดพลังงาน GAME_LOADING

โหมดเพิ่มคุณภาพการโหลดจะทำงานโดยตรวจจับเมื่อแอปเกมกำลังโหลด และแจ้ง HAL พลังงาน Android 13 แนะนำสถานะเกมใหม่ที่ชื่อว่า isLoading ใน API ที่นักพัฒนาแอปแสดงต่อผู้ใช้ สถานะของเกมนี้ใช้GAME_LOADINGใหม่ โหมดพลังงานในบริการเครื่องมือจัดการพลังงานเพื่อแจ้งเตือน HAL พลังงานเกี่ยวกับด้านบน สถานะต่างๆ ของเกม เมื่อ Power HAL ได้รับแจ้งสถานะการโหลดเกม สามารถปรับการตั้งค่าประสิทธิภาพของแพลตฟอร์มและอัตรานาฬิกา CPU ได้ ซึ่งผลลัพธ์ที่ได้ ได้เร็วขึ้น

ในการระบุว่าเกมกำลังโหลด แอปเกมจะใช้แดชบอร์ดเกมเพื่อตั้งค่า isLoading ใน Game Manager ผู้จัดการเกมส่งต่อสถานะนี้ไปยังเกม บริการของผู้จัดการ ซึ่งใช้ setPowerMode ด้วย GAME_LOADING ใหม่ โหมดเปิด/ปิดเพื่อเรียกใช้บริการ Power Manager โหมดพลังงาน GAME_LOADING แสดง Power HAL ว่าเกมอยู่ใน สถานะการโหลด เพื่อให้ HAL พลังงานสามารถกระตุ้นการโหลดได้

รูปต่อไปนี้อธิบายการถ่ายโอนข้อมูลจากแอปไปยังแหล่งจ่ายไฟ HAL เพื่อระบุสถานะการโหลด

ส่วนเสริมสำหรับการโหลด

รูปที่ 2 โฟลว์ข้อมูลเพื่อระบุว่าเกมอยู่ในสถานะกำลังโหลด

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

ปรับแต่ง Power HAL โดยใช้ GAME และ GAME_LOADING

หากต้องการใช้ประโยชน์จากโหมด GAME และ GAME_LOADING OEM ต้อง ปรับการใช้งาน Power HAL เนื่องจากการจัดการพลังงานและการเพิ่มประสิทธิภาพเป็นเรื่องเกี่ยวกับฮาร์ดแวร์โดยเฉพาะ จึงไม่มีการอ้างอิง การติดตั้งใช้งานสำหรับโหมด GAME หรือ GAME_LOADING จะใช้ได้จนถึง เปิดตัวการใช้งานข้อมูลอ้างอิงสำหรับอุปกรณ์ Google Pixel

หากต้องการเพิ่มประสิทธิภาพในโหมด GAME และ GAME_LOADING OEM สามารถเลือก ใช้มาตรการต่อไปนี้ผสมกัน

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

ทดสอบการใช้งานโหมด GAME

หากต้องการทดสอบการใช้งานโหมด GAME ให้ใช้การทดสอบที่ขึ้นต้นด้วย testGamePowerMode_ในGameManagerServiceTests.java

ทดสอบการใช้งาน GAME_LOADING

หากต้องการทดสอบการใช้งานโหมด GAME_LOADING ให้ใช้ android.gamemanager.cts.GameManagerTest#testSetGameContext การทดสอบนี้ยืนยันว่า GameManager::setGameContext() ที่มี isLoading หรือไม่ บริบทจะเรียกใช้โหมดโหลดเกมใน Power HAL ในโหมดประสิทธิภาพ