API โหมดเกมช่วยให้คุณเพิ่มประสิทธิภาพเกม เพื่อประสิทธิภาพที่ดีที่สุด หรือ อายุการใช้งานแบตเตอรี่ยาวนานที่สุดเมื่อผู้ใช้เลือกโหมดเกมที่เกี่ยวข้อง
อีกทางเลือกหนึ่งคือ คุณสามารถส่งคำขอ การฝึกฝนในโหมดเกมเพื่อปรับปรุง ประสิทธิภาพของเกมที่นักพัฒนาแอปไม่ได้อัปเดตอีกต่อไป
Game Mode API และการฝึกฝนพร้อมใช้งานในอุปกรณ์ต่อไปนี้
- เลือกอุปกรณ์ Android 12
- อุปกรณ์ที่ใช้ Android 13 ขึ้นไป
แต่ละเกมอาจใช้ลักษณะการทำงานของ API โหมดเกม เสนอโหมดเกม การตั้งค่าการแทรกแซงของ OEM หรือ เลือกไม่เข้าการฝึกฝนในโหมดเกม
ตั้งค่า
หากต้องการใช้ API โหมดเกมในเกม ให้ทำดังนี้
ดาวน์โหลดและติดตั้ง Android 13 SDK
ในไฟล์
AndroidManifest.xml
ประกาศว่าแอปของคุณเป็นเกมด้วยการตั้งค่าappCategory
ใน องค์ประกอบของ<application>
:
android:appCategory="game"
- ค้นหาโหมดเกมปัจจุบันโดยเพิ่มโหมดนี้ลงในกิจกรรมหลัก ดังนี้
Java
// Only call this for Android 12 and higher devices
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ) {
// Get GameManager from SystemService
GameManager gameManager = Context.getSystemService(GameManager.class);
// Returns the selected GameMode
int gameMode = gameManager.getGameMode();
}
Kotlin
// Only call this for Android 12 and higher devices
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// Get GameManager from SystemService
val gameManager: GameManager? = context.getSystemService(Context.GAME_SERVICE) as GameManager?
// Returns the selected GameMode
val gameMode = gameManager?.gameMode
}
โหมดเกมที่รองรับ | คำอธิบาย |
---|---|
ไม่รองรับ | เกมไม่ได้ประกาศการรองรับ API โหมดเกม และไม่รองรับการแทรกแซงโหมดเกม |
มาตรฐาน | ผู้ใช้ไม่ได้เลือกโหมดเกมหรือผู้ใช้เลือกโหมดมาตรฐาน |
ประสิทธิภาพ | ให้อัตราเฟรมที่มีเวลาในการตอบสนองต่ำที่สุดเพื่อแลกกับอายุการใช้งานแบตเตอรี่และความแม่นยำที่ลดลง |
แบตเตอรี่ | ให้อายุการใช้งานแบตเตอรี่ที่ยาวที่สุดเพื่อแลกกับความแม่นยำหรืออัตราเฟรมที่ลดลง |
เพิ่มโค้ดเพื่อค้นหาสถานะโหมดเกมใน ฟังก์ชัน
onResume
:
แนวทางปฏิบัติแนะนำ
หากเกมของคุณรองรับความละเอียดและอัตราเฟรมหลายรายการอยู่แล้ว คุณควรระบุการตั้งค่าที่เหมาะสมสำหรับประสิทธิภาพและ โหมดประหยัดแบตเตอรี่
เพื่อให้ได้อัตราเฟรมสูงสุดของอุปกรณ์อย่างสม่ำเสมอ คุณควรลอง ความละเอียดลดลงเพื่อให้ได้อัตราเฟรมที่สูงขึ้น
หากต้องการยืดอายุการใช้งานแบตเตอรี่ ให้ลองเลือกอัตราการรีเฟรชจอแสดงผลที่ต่ำลง (เช่น 30Hz หรือ 60Hz) และใช้การกำหนดอัตราเฟรมเพื่อกำหนดเป้าหมาย อัตราที่ลดลง
สำหรับเกมที่มีความแม่นยำสูง เช่น เกมยิงมุมมองบุคคลที่หนึ่ง เกมออนไลน์แบบมีผู้เล่นหลายคน สนามประลองต่อสู้ (โมบา) และเกมสวมบทบาท (RPG) คุณควรมุ่งเน้นที่ ได้อัตราเฟรมที่สม่ำเสมอสูงเพื่อให้ผู้ใช้รู้สึกดื่มด่ำไปกับประสบการณ์การใช้งานสูงสุด
สำหรับทั้งเกมความแม่นยำสูงและเกมเล่นฆ่าเวลา คุณควรรองรับโหมดประหยัดแบตเตอรี่ เพื่อยืดเวลาการเล่นโดยการลดอัตราเฟรมสูงสุด
ประกาศการรองรับโหมดเกม
หากต้องการประกาศการรองรับโหมดเกมและลบล้างการแทรกแซงโหมดเกมใดก็ตามโดยทำดังนี้
OEM ขั้นแรกให้เพิ่มการกำหนดค่าโหมดเกมลงใน
<application>
ใน
AndroidManifest.xml
ไฟล์:
<application>
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
...
</application>
จากนั้นสร้างไฟล์ game_mode_config.xml
ในไดเรกทอรี res/xml/
ของโปรเจ็กต์
ที่มีเนื้อหาต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="true"
android:supportsPerformanceGameMode="true"
/>
เปลี่ยนโหมดเกม
ในการสลับระหว่างโหมดเกมต่างๆ คุณสามารถใช้แดชบอร์ดเกม (มีให้บริการใน อุปกรณ์ Pixel) หรือแอปพลิเคชันที่คล้ายกันซึ่งจัดหาโดย OEM อีกวิธีหนึ่งคือ ใช้คำสั่ง Shell โหมดเกมระหว่างการพัฒนา
หากคุณใช้แดชบอร์ดเกมและไอคอนการเพิ่มประสิทธิภาพไม่แสดงขึ้น เมื่อเกมเปิดตัว คุณอาจต้องอัปโหลดแอปไปยัง Google Play Console และติดตั้งผ่าน Play Store สำหรับข้อมูลเกี่ยวกับการทดสอบแอปใน Play Store โปรดดู แชร์ App Bundle และ APK ภายใน
รูปที่ 1 แดชบอร์ดเกมแสดงการวางซ้อนเกมที่วิ่งอยู่บน Pixel อุปกรณ์
ในรูปที่ 1 โหมดเกมของเกมวิ่งอยู่สามารถเปลี่ยนได้จากการเพิ่มประสิทธิภาพ
วิดเจ็ต ตามที่แสดงในวิดเจ็ต เกมกำลังทำงานอยู่ในขณะนี้
PERFORMANCE
ในระหว่างการพัฒนา หากคุณใช้อุปกรณ์ที่ไม่มีแดชบอร์ดเกมและ ไม่ได้ให้วิธีใดๆ ในการตั้งค่าโหมดเกมสำหรับแต่ละแอปพลิเคชัน เปลี่ยนสถานะโหมดเกมผ่าน adb ดังนี้
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
แอปพลิเคชันตัวอย่าง
ตัวอย่าง API โหมดเกม ไฮไลต์วิธีที่คุณสามารถเพิ่มประสิทธิภาพ FPS และความละเอียดสูงสุดในการแสดงผลเพื่อประหยัดพลังงานแอปได้ประมาณ 25%
ถัดไป
อ่านการแทรกแซงในโหมดเกม เพื่อปรับปรุงประสิทธิภาพของเกมเมื่อไม่สามารถให้บริการอัปเดตเกมได้