Android ゲームをデバッグおよび最適化するための環境を準備するには、CPU 使用率とグラフィック呼び出しの分析に役立つ下記のツールを利用します。
CPU
次のツールを使用して、ゲームの CPU パフォーマンスを評価および改善します。
- Systrace: CPU とディスクのアクティビティを短時間記録します。 コマンドラインからこのツールにアクセスするか、Android 9(API レベル 28)以上を実行している場合に使用可能なデバイス上のツールを使用します。Systrace の概要もご覧ください。
- CPU Profiler: リアルタイムで、または記録されたトレースを使用して、ゲームの CPU 使用率とスレッドのアクティビティを検査します。Android Studio の CPU Profiler のアクセス方法と使用方法に関するドキュメントをご覧ください。このプロファイラのスタンドアロン バージョンで、起動時に Gradle プロジェクトを必要としないものが、Android Studio と Android Game Development Extension のどちらのインストール時にも、合わせてインストールされます。
メモリー
- Meminfo: メモリの統計情報を収集して、割り当てられた PSS メモリの容量とメモリが使用されたカテゴリを表示します。コマンド
adb shell dumpsys meminfo package-name
またはMemoryInfo
呼び出しを使用します。 - Perfetto: デバイスのパフォーマンスおよびメモリの情報を収集し、ウェブベースの UI に表示します。Perfetto は任意の長いトレースをサポートしているので、RSS の経時的な変化を確認できます。システム トレース アプリによる長いトレースを有効にします。
- bugreport: ゲームがメモリ不足でクラッシュしたか、LMK によって強制終了されたかを示します。コマンド
adb bugreport bugreport-name
を使用するか、[開発者向けオプション] > [バグレポート] にアクセスします。
グラフィック
次のツールを使用して、ゲームのディスプレイ パイプラインを評価および改善します。
- Android Frame Pacing API: ゲームエンジンのレンダリング プロセスを Android のディスプレイ パイプラインと同期させます。Android オープンソース プロジェクト(AOSP)からダウンロードするか、Unity 2019.2.0 Alpha 6 以降からプラグインにアクセスします。Android Frame Pacing API のドキュメントもご覧ください。
- Android GPU Inspector(AGI): GPU プロファイリング ツールです。ゲームのトレースを取得し、パフォーマンスに関する分析情報を参考にして、グラフィック最適化の判断を行うことができます。詳しくはこちらをご覧ください。