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