Android Dynamic Performance Framework で温度と CPU のパフォーマンスを最適化する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このガイドでは、Android Dynamic Performance Framework(ADPF)を使用して、Android の動的な温度と CPU 管理機能に基づいてゲームを最適化する方法について説明します。ここでは主にゲームに焦点を当てますが、この機能をパフォーマンス重視の他のアプリで使用することもできます。
ADPF は、ゲームや高いパフォーマンスを必要とするアプリが Android デバイスの電力システムや温度システムをより直接的に操作できるようにする API のセットです。これらの API を使用することで、Android システムでの動的な動作をモニタリングし、デバイスを過熱状態にしない持続可能なレベルでゲームのパフォーマンスを最適化することができます。
モバイル SoC や Android のパフォーマンス動作は、デスクトップやコンソールより動的です。このような動作には、熱状態管理、CPU クロックの変更、CPU コアタイプの変更などがあります。これと、ますます多様化している SoC のコア トポロジを組み合わせると、デバイスのパフォーマンスに悪影響を及ぼさずにゲームがこの動作を活用できるようにする場合に、課題が生じます。パフォーマンスを予測しやすくするために、ADPF はこの情報の一部を提供します。
ADPF の主な機能は次のとおりです。
- Thermal API: デバイスの温度状態をモニタリングして、アプリケーションがワークロードを持続不能になる前に事前に調整できるようにします。
- CPU Performance Hint API: Android がワークロードに適したパフォーマンス設定(CPU 動作ポイントやコアなど)を選択できるように、パフォーマンスのヒントを提供します。
- Game Mode API と Game State API: ユーザーの設定とゲーム固有の構成に基づいて、パフォーマンスやバッテリー駆動時間の特性を優先することで、ゲームプレイの最適化を有効にします。
- 固定パフォーマンス モード: 動的 CPU クロックによって変更されない測定値を取得するには、ベンチマーク中にデバイスで固定パフォーマンス モードを有効にします。
- Power Efficiency Mode: パフォーマンスよりも電力効率を優先するように Performance Hint Session のスレッドを安全にスケジュールできることをセッションに伝えます。(Android 15 で利用可能)
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2024-02-28 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2024-02-28 UTC\u3002"}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-02-28 UTC。"]]