เริ่มตั้งแต่ Android 14 โหมดพลังงานใหม่ชื่อ GAME
ใน Android Dynamic Performance Framework (ADPF) ช่วยให้ปรับแต่งประสิทธิภาพของโทรศัพท์ระหว่างการใช้งานเกมได้ GAME
ระบุให้ Power HAL ทราบว่าแอปเกมอยู่เบื้องหน้า ข้อบ่งชี้นี้ช่วยให้ Power HAL นำกลยุทธ์การจัดการพลังงานมาใช้เมื่อมีการเล่นเกม เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่เสถียรและปรับปรุงประสิทธิภาพ
เพื่อปรับปรุงเวลาในการโหลดเกม Android 13 ขอแนะนำโหมดพลังงานใหม่ชื่อ GAME_LOADING
ใน ADPF GAME_LOADING
บ่งชี้ว่าแอปเกมอยู่ในสถานะโหลดหรือไม่ เพื่อให้ Power HAL สามารถเพิ่มประสิทธิภาพการโหลดได้ ข้อบ่งชี้นี้ช่วยให้ Power HAL สามารถจัดเตรียมมาตรการเพิ่มประสิทธิภาพที่สามารถเพิ่มความเร็วในการโหลดเกมได้
หน้านี้อธิบายวิธีที่แอปเกมส่งสถานะของเกมไปยัง Power HAL อธิบายวิธีกำหนดค่า Power HAL เพื่อใช้ประโยชน์จากสถานะดังกล่าวในอุปกรณ์ของคุณ ตลอดจนวิธีทดสอบการใช้งาน Power HAL ของคุณ
การตรวจจับและการแจ้งเตือนโหมดพลังงาน
ส่วนนี้จะอธิบายวิธีที่ Power Manager จัดการกับโหมด GAME
และ GAME_LOADING
โหมดพลังงานของเกม
GAME
โหมดพลังงานใหม่ใน Android 14 ระบุ บริการ Power Manager ว่าผู้ใช้กำลังเล่นเกม เมื่อ Power HAL ได้รับแจ้งถึงโหมด GAME
ก็สามารถปรับพลังงานเพื่อเพิ่มประสิทธิภาพ ลดอุณหภูมิ และยืดอายุแบตเตอรี่ได้ในขณะที่กำลังเล่นเกม
รูปต่อไปนี้อธิบายการไหลของข้อมูลไปยัง Power HAL เพื่อระบุโหมดพลังงาน GAME
:
รูปที่ 1. การไหลของข้อมูลเพื่อระบุว่ากำลังเล่นเกมอยู่
โหมดพลังงาน GAME
จะถูกตั้งค่าไว้เสมอสำหรับแอปที่มี appCategory
เป็น GAME
ใน AndroidManifest.xml
GAME_LOADING โหมดพลังงาน
โหมดบูสต์การโหลดทำงานโดยการตรวจจับเมื่อแอปเกมอยู่ในสถานะโหลด และแจ้งเตือน Power HAL Android 13 แนะนำสถานะเกมใหม่ที่เรียกว่า isLoading
ใน API ที่นักพัฒนาต้องเผชิญ สถานะของเกมนี้ใช้โหมดพลังงาน GAME_LOADING
ใหม่ในบริการ Power Manager เพื่อแจ้ง Power HAL เกี่ยวกับสถานะของเกมระดับบนสุด เมื่อ Power HAL ได้รับแจ้งสถานะการโหลดเกม จะสามารถปรับการตั้งค่าประสิทธิภาพของแพลตฟอร์มและอัตรานาฬิกาของ CPU ได้ ซึ่งส่งผลให้เวลาในการโหลดดีขึ้น
เพื่อระบุว่าเกมกำลังโหลด แอพเกมจะใช้แดชบอร์ดเกมเพื่อตั้งค่าสถานะ isLoading
ในตัวจัดการเกม ตัวจัดการเกมส่งสถานะนี้ไปยังบริการตัวจัดการเกม ซึ่งใช้ setPowerMode
พร้อมกับโหมดพลังงาน GAME_LOADING
ใหม่เพื่อเรียกใช้บริการตัวจัดการพลังงาน โหมดพลังงาน GAME_LOADING
จะแสดงให้ Power HAL ทราบว่าเกมอยู่ในสถานะโหลด เพื่อให้ Power HAL สามารถเพิ่มกำลังการโหลดได้
รูปต่อไปนี้อธิบายการไหลของข้อมูลจากแอปไปยัง Power 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 ในโหมดประสิทธิภาพหรือไม่