FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    アプリ『トランプ・ジン・ラミー』を公開しました。
    Android/iOS https://goo.gl/PYKFYG

    タグ:Profiler

      このエントリーをはてなブックマークに追加 Clip to Evernote
    C#でスクリプト上で重い処理を作ったとします。大きなリストの複雑なソートをするとか、大量の計算を行うといったことです。
    そういったときスクリプトのある特定の部分に書いてあることが、どれくらいの時間で処理されるのかということを知りたいことがあるでしょう。 こういったときはC#のStopwatchクラスを使うと簡単に実行時間が測れます。以下にコードを載せておきます。


    ストップウォッチクラスを作り、Startします。処理が終わったタイミングでStopし、ElapsedMillisecondsでかかった時間をミリ秒単位で取得しています。非常に簡単なコードなので、簡単にパフォーマンスを測れます。
    リリース版に計測用のコードが紛れ込むのが嫌なら、定義を使っておくと良いと思います。(#if DEBUGなど)

    ProfilerやFPSの計測よりも細かな範囲でのパフォーマンス計測になります。はじめは大きな計測から始めて、徐々に計測範囲を狭めていくと処理が重い原因を調べやすいと思います。
    このスクリプトのあるメソッドが重いとわかっているなら、今回の計測方法でさらに詳しく原因を探れるはずです。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    FPSの計測を自前で書くことはいろいろなメリットがあります。
    アプリをインストールするだけでFPSを測れることになると、チェックに必要なものが端末だけになるので 便利です。

    UnityにはProfilerというパフォーマンスを計測するための機能があります。実はこれを使うと端末で実行中のゲームのパフォーマンスが測れます。
    Android以外の場合も計測できますが、ここではAndroidだけ説明します。

    ゲームをビルドするときにデバッグできるように設定します。
    Build Settingsを開いたときに以下のようにDevelopment Buildを選択します。
    すぐに計測したい場合はAutoconnect Profilerも選択します。(ゲームのインストールが終わると自動でProfilerを開くようになります)

    bs

    Build And Runを押してビルドと端末へのインストールを行います。
    端末でゲームが起動したら、Unity側でProfilerを開きます。Profilerの上部メニューのActive Profilerを押して計測したい端末を選択します。ここでは3番目に出ているNexus 7を選択します。(私の場合です)

    prof

    選択後計測がリアルタイムで行われていきます。Wi-Fiでつないでいるようなので、Unityから認識されてからはUSBケーブルを外しても大丈夫でした。 

    確実に使うためにはBuild SettingsでDevelopment BuildとAutoconnect Profileを選択し、Build And Runを行うのが良いです。自動で計測開始してくれるのでミスが起こらないと思います。USBケーブルもつけっぱなしにしておいてください。

    公式ページにも情報がありますので参照ください。 

    このページのトップヘ