このガイドでは、Android Dynamic Performance Framework(ADPF)を使用して、Android の動的な温度と CPU の管理機能に基づきゲームを最適化する方法について説明します。対象はゲームですが、この機能は高いパフォーマンスを必要とする他のアプリにも使用できます。
ADPF は、ゲームや高いパフォーマンスを必要とするアプリが Android デバイスの電力システムや温度システムをより直接的に操作できるようにする API のセットです。これらの API を使用することで、Android システムでの動的な動作をモニタリングし、デバイスを過熱状態にしない持続可能なレベルでゲームのパフォーマンスを最適化することができます。
モバイル SoC や Android のパフォーマンス動作は、デスクトップやコンソールより動的です。これらの動作には、温度状態の管理、CPU クロックの変更、CPU コアの種類の変更などが含まれます。SoC のますます多様化するコアトポロジとの組み合わせにより、デバイスのパフォーマンスに悪影響を与えることなくゲームがこの動作を確実に利用できるようにすることは簡単ではありません。ADPF は、パフォーマンスの予測可能性を高めるためにこの情報の一部を提供します。
ADPF の主な機能は次のとおりです。
- Thermal API: デバイスの温度状態をモニタリングし、持続できなくなる前にアプリケーションがワークロードを事前に調整できるようにします。
- CPU パフォーマンス ヒント API: パフォーマンスのヒントを提供することで、Android がワークロードに適したパフォーマンス設定(CPU 動作点やコアなど)を選択できるようにします。ゲーム以外のワークロードに最適です。
- Game Mode API と Game State API: ユーザー設定とゲーム固有の構成に基づいて、パフォーマンスまたはバッテリー寿命の特性を優先することで、ゲームプレイの最適化を可能にします。
- 固定パフォーマンス モード: ベンチマークの際にデバイスで固定パフォーマンス モードを有効にし、動的な CPU クロック設定によって変動することのない測定値を取得します。
- Power Efficiency Mode: パフォーマンス ヒント セッションのスレッドを安全にスケジュールして、パフォーマンスよりも電力効率を優先できることをセッションに伝えます。(Android 15 で利用可能)