UE4 Android + SnapdragonProfiler
UE4 Android + SnapdragonProfiler
※UE4確認バージョン 4.24.3
※SnapdragonProfiler v2019.4
※Pixel4 XL
※Android ver 10
UE4モバイルでのプロファイルをしていると
CPUは計測できるがGPUが計測できなくて困ることがあります。
AndroidであればGPU部分のチップがメーカーによって違い
GPU用のProfilerを使い分けないといけない場合があります。
今回はハイエンドモバイルで採用例が多いSnapdragonでの
Profilerの簡単な使い方をまとめておきます。
※一応、4.23から追加されたUnrealInsightsを使えば計測ができるようです
準備 SnapdragonProfiler 入手
・まずProfilerツールの入手なのですがQualcommサイトのアカウントを作成する必要があります
・アカウント作成の後、以下の場所からツールをDLします。
・今回はWindowsPC上でプロファイルをするので「SnapdragonProfiler-windows」
を選択します。
・インストーラーを起動しセットアップを手順通りにすすめてください。
※インストール途中で [GTK ]が必要といわれる場合はまずそちらのDLをインストールを
しましょう。
※今回のSnapdragonProfilerのバージョンはv2019.4はGTK2.12.44が要求されました。
※また取得したSnapdragonProfilerのプロファイラーは別途保存しておくことを
お勧めします。新しいバージョンが配布されると過去のバージョンが
入手できない場合があります。しかし最新バージョンだと不安定で
過去のバージョンのほうが安定してプロファイルがとれる場合があるからです。
そのため一度入手したインストーラーのバックアップはしておきましょう。
準備 UE4にてAndroid用のプロジェクトを作成
・今回は仮に「TestProject」という名前で作成しておきます。
※4.24.3のandroidパッケージは
私の環境だけかもしれないのですがパッケージがslateまわりでこけることが何度かあります、ただ、キャッシュが作成され再度作成すると途中からパッケージが進んでいるので1、2度こけてもパッケージ作成ができる場合があります、、
手順1
準備が終われば、PCとAndroidをUSB接続します。
※USBデバッグを有効な状態にしておいてください。
接続ができたら、先ほど作成したTestProjectパッケージを
端末にインストールします
手順2
次にPCにてSnapdragonProfilerを立ち上げます。
最初は「Connect to Device」のみが有効となっています
「Connect to Device」から対象端末を選び、
Connectボタンを押します。
Connectが成功すると
「Realtime」
「New Trace Capture」
「New Snapshot Capture」
が有効になります
Realtime
対象端末にて「TestProject」を立ち上げます。
その後、SnapdragonProfilerから「Realtime」を選択します。
「Realtime」は接続した端末の各種アプリケーションの
各種プロセスがグラフによりリアルタイムに確認できます。
CPU GPU メモリ 通信 バッテリーや細々とした内容が計測できます。
左上のLaunchApplicationの下に対象端末で起動しているアプリケーション一覧が
表示されるのですが数多くて見づらいので上のフィルタリングで対象の
アプリケーションを探します。
計測したいアプリケーションを発見したら
アプリケーション一覧からアプリ選択してフォーカスを合わせます
その状態で次に見たいプロセスの項目をダブルクリックします
New Trace Capture
TraceCaptureは自分の任意の開始タイミングと停止タイミングの間を
指定したプロセスのイベントをタイムラインにて確認できるものです。
・まずNewTraceCaptureを選び
・キャプチャーしたいプロセスを選択します
・次に対象となるアプリケーションを選択します
ここまで準備ができたのなら起動しているアプリケーションで
計測したい場所とタイミングまでアプリケーションを進めます。
タイミングがきたら、左上の
「StartCapture」ボタンを押せば計測開始になります
その後数秒なり数分なりアプリケーションをプレイした後
「StartCapture」のボタンが「StopCapture」となっているので
押して計測を停止します。
停止を押してからタイムライン表示まで少し時間がかかります。
計測されたタイムラインは拡大などができ詳細表示されて確認ができます。
New Snapshot Capture
最後にSnapshotCaptureですが
こちらは任意プロセスの内容をの1Frameを詳細にCaptureするものです。
手順はプロセスを指定
アプリケーションを選択
左上のTakeSnapshotを押す
すると対象のアプリケーションの画面がCaptureされます
そのFrameのDrawイベント内容が順番に確認できます’
上から順番に描画された内容が確認できるので
指定のイベントをダブルクリックすると
ビューポート画面にて対象のオブジェクトが赤く明滅してくれます
おしまい
使い方を箇条書きしただけですが以上となります。
SnapdragonProfilerを1,2年前使用してた感想としては
かなりの頻度でクラッシュしてしまい計測するのがストレスでしたが
今回久々に計測した環境ですと例外1回を除いて
クラッシュすることがなく快適に計測できました。
1度だけクラッシュしたのですが計測対象のプロセスを
大量に選択したのが悪かったのかもしれません、
全て選択などせずに必要な部分だけ選んで計測する分には
安定しておりました。