Adreno Profiler を使ってモバイルアプリを最適化

  • 23
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Adreno Profiler って?

Qualcomm が提供している Adreno 搭載端末のためのプロファイラ
Android端末でのシェアが高いので有用

Android端末一覧

ここの SoC のところに Snapdragon て書いてたらだいたいそうなんじゃないでしょうか。

インストール

Win / Mac 対応みたいですが、
僕は Mac は諦めて Windows に入れました。
(古い記事だと Windows のみ対応と書いてあるので、最近 Mac に対応したのかも)

下記にて配布されています。(要アカウント作成)
https://developer.qualcomm.com/download/software

Mac でのインストール

追記
再度手順を追って試したら起動までできました。
1. Mono 2.10.5 をいれる http://download.mono-project.com/archive/2.10.5/macos-10-x86/0/
2. xQuartzの最新をいれる http://xquartz.macosforge.org/landing/
基本的にはこの2つ揃えてたら問題なさそう。
Xamarinとの併用も大丈夫そう。

#### 問題1) Mono の古いバージョンが必須
Mono 2.10.5 が求められる。
Xamarin など使ってると最新の Mono が求められるので
複数バージョンの Mono が必要になる
(うまいやりかたあるのかなー)

#### 問題2) 起動しない
Mono のバージョンを揃えても、
自分の環境だと起動時にエラーが起きてダメでした。
このへん にもあるけど、自分の場合は別のエラーが出ていて、
心が折れてやめました。

Windows でのインストール

インストーラからインストールすれば特に問題なし

端末の接続

adb コマンドにパス通ってる前提で。
AndroidManifest.xml に

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.qti.permission.PROFILER" />

この2つが必要。
そして、Profiler起動前に、コマンドをうつ。

adb.exe shell setprop debug.egl.profiler 1

これが、OS起動ごとに必要らしい。

Mac だと

adb shell setprop debug.egl.profiler 1

こうかな。

プロファイリング

ここまでの対応で connect が成功するはずなので、
そのあとは、内容見ていくだけです。
(内容多くて何書いてるかわからないとこもたくさん)

今回やってみたのは描画負荷を調べるために

  • Scrubber GL 開く
  • Metrics の Clocks と Pixel Writers あたりを選択して追加
  • 任意の位置で、Capture Frame
  • Render Calls がずらーっと出てくるので、Clocks あたりを参考に重い所を割り出し
  • Texture もずらーっと出てくるので、無圧縮 Texture や、無駄に大きい Texture が潜んで居ないか確認

みたいな流れでやるとなんとなくつかめました。
このへんは探りたい対象で色々変わりそう。