ตั้งแต่ 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
ทราบว่าผู้ใช้กำลังเล่นเกม เมื่อ HAL ของ Power ได้รับการแจ้งเตือนเกี่ยวกับGAME
โหมด ก็จะปรับกำลังเพื่อเพิ่มประสิทธิภาพ ลดอุณหภูมิ และยืดอายุการใช้งานแบตเตอรี่
ขณะเล่นเกมได้
รูปภาพต่อไปนี้อธิบายขั้นตอนการส่งข้อมูลไปยัง Power HAL เพื่อระบุโหมดพลังงาน GAME
รูปที่ 1 การไหลของข้อมูลเพื่อระบุว่ากำลังเล่นเกม
ระบบจะตั้งค่าGAME
โหมดประหยัดพลังงานappCategory
ของ GAME
ใน AndroidManifest.xml
เสมอสำหรับแอป
โหมดพลังงาน GAME_LOADING
โหมดเพิ่มประสิทธิภาพการโหลดจะทำงานโดยการตรวจหาเมื่อแอปเกมอยู่ในสถานะการโหลด
และแจ้ง HAL ของ Power Android 13
เปิดตัวสถานะเกมใหม่ที่ชื่อ isLoading
ใน API ที่นักพัฒนาแอปใช้
สถานะเกมนี้ใช้โหมดGAME_LOADING
ใหม่ในบริการ Power Manager เพื่อแจ้ง HAL ของ Power เกี่ยวกับสถานะเกมระดับบนสุด
เมื่อได้รับแจ้งสถานะการโหลดเกมแล้ว Power HAL จะ
ปรับการตั้งค่าประสิทธิภาพของแพลตฟอร์มและอัตราสัญญาณนาฬิกาของ CPU ได้ ซึ่งจะส่งผลให้
เวลาในการโหลดดีขึ้น
แอปเกมจะใช้แดชบอร์ดเกมเพื่อตั้งค่าสถานะ isLoading
ใน Game Manager เพื่อระบุว่าเกมกำลังโหลด Game Manager จะส่งต่อสถานะนี้ไปยังบริการ Game Manager ซึ่งใช้ setPowerMode
ร่วมกับโหมดประหยัดพลังงาน GAME_LOADING
ใหม่เพื่อเรียกใช้บริการ Power Manager GAME_LOADING
โหมดพลังงาน
จะระบุต่อ HAL ของ Power ว่าเกมอยู่ในสถานะ
การโหลด เพื่อให้ HAL ของ Power สามารถเพิ่มประสิทธิภาพการโหลดได้
รูปภาพต่อไปนี้อธิบายขั้นตอนการไหลของข้อมูลจากแอปไปยัง Power HAL เพื่อระบุสถานะการโหลด
รูปที่ 2 การไหลของข้อมูลเพื่อระบุว่าเกมอยู่ในสถานะการโหลด
แดชบอร์ดเกมช่วยให้ผู้ใช้เปิดหรือปิดฟีเจอร์การเพิ่มประสิทธิภาพการโหลดได้ด้วย การตั้งค่าประสิทธิภาพ การตั้งค่าประสิทธิภาพจะปิดอยู่โดยค่าเริ่มต้นเสมอ
ปรับแต่ง Power HAL โดยใช้ GAME และ GAME_LOADING
หากต้องการใช้ประโยชน์จากโหมด GAME
และ GAME_LOADING
ผู้ผลิตอุปกรณ์ต้อง
ปรับแต่งการติดตั้งใช้งาน Power HAL
เนื่องจากการจัดการพลังงานและการเพิ่มประสิทธิภาพเป็นฮาร์ดแวร์ที่เฉพาะเจาะจง จึงจะไม่มีการใช้งานอ้างอิงสำหรับโหมด GAME
หรือ GAME_LOADING
จนกว่าจะมีการเผยแพร่การใช้งานอ้างอิงสำหรับอุปกรณ์ Google Pixel
หากต้องการเพิ่มประสิทธิภาพในโหมด GAME
และ GAME_LOADING
ผู้ผลิตอุปกรณ์สามารถเลือกใช้มาตรการต่อไปนี้ร่วมกันได้
- รักษาอัตราเฟรมให้คงที่
- เพิ่มความเร็วของนาฬิกา CPU
- ลดการควบคุมอุณหภูมิชั่วคราว
- กำหนดลำดับความสำคัญของ CPU ที่สูงขึ้นให้กับแอปเกมที่ทำงานอยู่เบื้องหน้า
- ลดการเพิ่มประสิทธิภาพ CPU ที่ปรับแต่งสำหรับแอปทั่วไปที่ไม่ใช่เกม
- เพิ่มประสิทธิภาพกลยุทธ์การกระจายกำลังที่เกี่ยวข้องกับความร้อน
ทดสอบการใช้งานโหมดเกม
หากต้องการทดสอบการใช้งานโหมด GAME
ให้ใช้การทดสอบที่ขึ้นต้นด้วย
testGamePowerMode_
ใน GameManagerServiceTests.java
ทดสอบการติดตั้งใช้งาน GAME_LOADING
หากต้องการทดสอบการใช้งานโหมด GAME_LOADING
ให้ใช้ android.gamemanager.cts.GameManagerTest#testSetGameContext
การทดสอบนี้จะยืนยันว่า GameManager::setGameContext()
ที่มีบริบท isLoading
จะเรียกใช้โหมดการโหลดเกมใน HAL ของ Power ในโหมดประสิทธิภาพหรือไม่