遊戲模式 API 可讓你在使用者選取對應的遊戲模式時,為遊戲進行最佳化調整,以維持最佳效能或延長電池續航力。
或者,你也可以提交遊戲模式干預要求,讓開發人員不再更新遊戲的效能。
以下裝置提供 Game Mode API 和介入措施:
- 選取「Android 12」裝置
- 搭載 Android 13 以上版本的裝置
每款遊戲可以實作 Game Mode API 行為,提出遊戲模式建議 原始設備製造商 (OEM) 的介入措施設定 停用遊戲模式介入措施。
設定
如要在遊戲中使用 Game Mode 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
}
支援的遊戲模式 | 說明 |
---|---|
不支援 | 這個遊戲未宣告 Game Mode API 支援,也不支援遊戲模式干預功能。 |
標準 | 使用者尚未選取遊戲模式或使用者選取標準模式。 |
效能 | 提供最低延遲的畫面更新率,提升擬真度但會降低電池續航力。 |
電池 | 提供最久的電池續航力,但擬真度或畫面更新率會降低。 |
新增程式碼,查詢
onResume
函式:
最佳做法
如果你的遊戲已支援多種擬真度和畫面更新率目標,建議你找出效能和省電模式適用的設定:
如要持續達到最高裝置畫面更新率,請考慮擬真度稍微降低,以達到較高的畫面更新率。
如要延長電池續航力,建議你選擇較低的顯示器重新整理頻率 (例如 30Hz 或 60Hz) 並使用影格放送速度,藉此指定較低的速率。
針對第一人稱射擊遊戲、多人線上戰術競技遊戲 (MOBA) 和角色扮演遊戲 (RPG) 等高傳真遊戲,建議你專注達成快速一致的畫面更新率,大幅提高使用者身歷其境的感受。
對於高擬真度和休閒遊戲,建議支援省電模式,以便減少峰值畫面更新率,延長播放時間。
宣告對遊戲模式的支援
如要宣告支援遊戲模式,並覆寫任何遊戲模式介入措施,
原始設備製造商 (OEM) 請先在
<application>
元素
AndroidManifest.xml
檔案:
<application>
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
...
</application>
然後在專案的 res/xml/
目錄中建立 game_mode_config.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) 提供的類似應用程式。此外,您也可以 請使用遊戲模式殼層指令
如果您使用遊戲資訊主頁,不會顯示最佳化圖示 每次遊戲推出時,您可能需要將應用程式上傳至 Google Play 管理中心 並透過 Play 商店安裝如要瞭解應用程式測試的相關資訊,請前往 Play 商店,請參閱 與內部人員分享應用程式套件和 APK。
圖 1. 遊戲資訊主頁顯示在 Pixel 手機上,疊加顯示執行中的遊戲 裝置。
在圖 1 中,執行中遊戲的遊戲模式可從「最佳化」變更
如小工具所示,遊戲目前使用的是
PERFORMANCE
敬上
模式。
在開發期間,如果您使用的裝置沒有遊戲資訊主頁和 製造商並未允許您為每個應用程式設定遊戲模式,您可以 透過 ADB 變更遊戲模式狀態:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
範例應用程式
Game Mode API 範例 重點說明如何最佳化每秒影格數和轉譯解析度上限,節省約 25% 的應用程式耗電量。
繼續
請參閱「遊戲模式乾預」一文 無法提供遊戲更新時,提升遊戲效能。