結論:Windows版をオススメします
Adrenoインストールまで
AndroidManifestに追記したいが、土台のAndroidManifestとして、ビルドしたら作られるTemp/StagingArea/以下のものをAssets/Plugins/Android/にコピー。ビルドが通ることを確認して、書きパーミッションを追記。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.qti.permission.PROFILER" />
Adrenoを起動する。ADBが見つからないと表示されるので
私の場合はrun_profiler_macをSublimeText2で開いて、
#!/bin/sh
MONO_2105="/Library/Frameworks/Mono.framework/Versions/2.10.5/bin/mono"
if [ -e "$MONO_2105" ]
then
APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'`
cd "$APP_PATH/Contents/Resources"
if [ ! -d "./bin" ]; then mkdir bin ; fi
if [ -f "./bin/AdrenoProfiler_Mac" ]; then rm -f "./bin/AdrenoProfiler_Mac" ; fi
ln -s $MONO_2105 "./bin/AdrenoProfiler_Mac"
export PATH=$PATH:/Applications/adt-bundle-mac-x86_64-20140702/sdk/platform-tools
export MONO_MWF_MAC_FORCE_X11="1"
export GPU_DRIVER_PATH="/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries/libGL.dylib"
export DYLD_FALLBACK_LIBRARY_PATH="/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"
"./bin/AdrenoProfiler_Mac" AdrenoProfiler.exe&
else
/usr/bin/osascript <<-EOF
tell application "System Events"
display alert "Adreno Profiler for Mac requires mono runtime version 2.10.5." as warning
end tell
EOF
fi
パスを追加する。Terminalではもともとパスが通っているのでrun_profiler_mac内に書いた。
再度Connectしてみると、Found a deviceと表示されたのでadbのパスはクリア。しかし
but no adreno profiler-enabled appと表示されている。
AndroidManifestに
<uses-permission android:name="android.permission.INTERNET" />
が含まれているのにおかしい。WWWを明示的に使用してネット接続を有効にする。サンプルコードは
using UnityEngine;
using System.Collections;
public class WWWDummy : MonoBehaviour {
public string url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg";
void Start () {
WWW www = new WWW (url);
}
}
これでAdrenoに端末が認識され、Connectが成功する。Scrubber GLを押す。しかし
The OpenGL version supported by your graphics card is too low to profile GLES 3.0
と表示される。NVIDIA GeForce GT 750Mなので古くないし、MacのUpdateもしたのでGPUのドライバも最新のはず。
Windowsで試してみると、Adrenoを入れるだけで動いた。AdrenoでCapture Frameを押すと数秒後に解析結果が表示される。Windowsの場合だと端末の画面が表示されるが、Macだと端末の画面が表示されない。ただ、他の値は同じように表示されているようだ。例えばCommentsタブを見ると「圧縮されていないテクスチャがあるからパフォーマンスが悪い」などが書いてある。
MacでAdrenoが、ほぼ動いた状態です。
その後、各値を見ようと操作するとほぼ落ちます。Windowsでリトライしてみると、端末画面が表示され、測定ができました。
使い方
- Adreno Profiler起動
- Connectで端末と接続
- Scrubber GLを押す
- 測定したいフレームでCapture Frameを押す。右下にプログレスバーが表示されるので待つ
- Texture Browserにテクスチャ一覧が表示されるのでFormatを確認したり、全テクスチャをbmpで一括保存したりできる
- 他にも、全glDrawElementsの呼ばれた回数もパフォーマンス指標になるでしょう