高度なゲーム開発
プロファイラーウィンドウ

プロファイラー ウィンドウ

Unity プロファイラー ウィンドウはゲームの最適化に役立ちます。ゲームのさまざまなエリアで要した時間を報告します。例えばゲームロジックのレンダリング、アニメーションに要した時間の割合が分かります。

プロファイリングを有効にするとエディターで実行することができて、パフォーマンスを記録することができます。次に Profiler ウィンドウがデータをタイムラインで表示するため、スパイクした (他より時間を要した) フレームや要素が分かります。タイムライン上の任意の位置をクリックすることで Profiler ウィンドウの下部に選択したフレームの詳細情報が表示されます。

プロファイリングがコードを “測定する” ことに注意してください。測定はゲームのパフォーマンスにわずかな影響があります。一般的にはこのオーバーヘッドはゲームのフレームレートに影響するほどの大きさするときではありません。プロファイリングを使用するとき、特定のエリアで要した時間の割合 (またはパーセンテージ) のみを考慮することが一般的です。さらにパフォーマンスを改善するためには時間をもっとも要する部分のみにフォーカスしてください。コード変更の前後のプロファイリングの結果を比較して改善結果を測定します。場合によっては行った変更がフレームレートにマイナスの影響を与える場合があり、コード最適化による想定外の結果があることを加味すべきです。

プロファイラーウィンドウの詳細は 次のページで記載されています。

さらに詳細について

iOS

リモートプロファイリングは次の手順により iOS デバイスで有効化できます:

  1. iOS デバイスを WiFi ネットワークに接続します(デバイスから Unity エディターにプロファイリングデータを送信するためにプロファイラーはローカル/アドホック WiFi ネットワークを使用します)
  2. Unity の Build Settings ダイアログで “Autoconnect Profiler” をチェックします。
  3. USB ケーブル経由で Mac にデバイスを接続したら、Unity の Build Settings ダイアログで “Development Build” をチェックし、“Build & Run” をクリックします。
  4. デバイスでアプリが起動した後、Unity エディターで Profiler ウィンドウを開きます。(Window->Profiler)

ファイアウォールを使用している場合、設定でポート番号 54998 to 55511 が開放されていることを確認します - これらのポートは Unity によりリモートプロファイリングで使用されます。

注意: Unity エディターはデバイスに自動接続しない場合があります。そのような場合は、プロファイラーの接続は Profiler ウィンドウの Active Profiler ドロップダウンメニューで適切なデバイスを選択して開始できます。

Android

リモートプロファイリングは異なるパスにより Android デバイスで有効化できます: WiFi または ADB

WiFi プロファイリングは、以下の手順で行います。

  1. Android デバイスの Mobile Data を無効にします。
  2. Android デバイスを WiFi ネットワークに接続します。
  3. USB ケーブル経由で Mac/PC にデバイスを接続したら、Unity の Build Settings ダイアログで “Development Build” と “Autoconnect Profiler” をチェックし、“Build & Run” をクリックします。
  4. デバイスでアプリが起動した後、Unity エディターで Profiler ウィンドウを開きます。(Window->Profiler)
  5. If the Unity Editor fails to autoconnect to the device, select the appropriate device from the Profiler Window Active Profiler drop down menu. Note: The Android device and host computer (running the Unity Editor) must both be on the same subnet for the device detection to work.

ADB プロファイリングは、以下の手順で行います。

  • ケーブル経由で Mac/PC にデバイスを接続し、ADB がデバイスを認識することを確認します(すなわち adb devices のリストに表示されます)。
  • Unity の Build Settings ダイアログで “Development Build” をチェックし、“Build & Run” をクリックします。
  • デバイスでアプリが起動した後、Unity エディターで Profiler ウィンドウを開きます。(Window->Profiler)
  • Select the AndroidProfiler(ADB@127.0.0.1:54999) from the Profiler Window Active Profiler drop down menu. Note: The Unity editor will automatically create an adb tunnel for your application when you press “Build & Run”. If you want to profile another application or you restart the adb server you have to setup this tunnel manually. To do this, open a Terminal window / CMD prompt and enter:
adb forward tcp:54999 localabstract:Unity-{insert bundle identifier here}

ノート ドロップダウンメニューのエントリーは、選択したターゲットが Android であるときのみ表示されまう。

ファイアウォールを使用している場合、設定でポート番号 54998 to 55511 が開放されていることを確認します - これらのポートは Unity によりリモートプロファイリングで使用されます。

WebGL

ほかのプラットフォームと同様に、WebGL 上で Unity プロファイラーを使用できます。重要な違いの 1つは、WebGL はブラウザ側で着信接続を許可しない通信に WebSockets を使用するため、WebGL の実行プレーヤーにアタッチできないことです。代わりに、ビルド設定で「Autoconnect profiler」チェックボックスを使用する必要があります。 WebGL では、ドローコールは現在プロファイリングできません。

高度なゲーム開発
プロファイラーウィンドウ