LoginSignup
0
3

More than 5 years have passed since last update.

MacでUnityアプリをAdreno GPU Profilerで見るまでの環境設定

Last updated at Posted at 2016-06-27

結論: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の呼ばれた回数もパフォーマンス指標になるでしょう
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3