Unity プロファイラー ウィンドウはゲームの最適化に役立ちます。ゲームのさまざまなエリアで要した時間を報告します。例えばゲームロジックのレンダリング、アニメーションに要した時間の割合が分かります。
プロファイリングを有効にするとエディターで実行することができて、パフォーマンスを記録することができます。次に Profiler ウィンドウがデータをタイムラインで表示するため、スパイクした (他より時間を要した) フレームや要素が分かります。タイムライン上の任意の位置をクリックすることで Profiler ウィンドウの下部に選択したフレームの詳細情報が表示されます。
プロファイリングがコードを “測定する” ことに注意してください。測定はゲームのパフォーマンスにわずかな影響があります。一般的にはこのオーバーヘッドはゲームのフレームレートに影響するほどの大きさするときではありません。プロファイリングを使用するとき、特定のエリアで要した時間の割合 (またはパーセンテージ) のみを考慮することが一般的です。さらにパフォーマンスを改善するためには時間をもっとも要する部分のみにフォーカスしてください。コード変更の前後のプロファイリングの結果を比較して改善結果を測定します。場合によっては行った変更がフレームレートにマイナスの影響を与える場合があり、コード最適化による想定外の結果があることを加味すべきです。
プロファイラーウィンドウの詳細は 次のページで記載されています。
リモートプロファイリングは次の手順により iOS デバイスで有効化できます:
ファイアウォールを使用している場合、送信設定でポートの 54998 から 55511 が開放されていることを確認します。これらのポートは Unity によりリモートプロファイリングで使用されます。
注意: Unity エディターはデバイスに自動接続しない場合があります。そのような場合は、プロファイラーの接続は Profiler ウィンドウの Active Profiler ドロップダウンメニューで適切なデバイスを選択して開始できます。
リモートプロファイリングは異なるパスにより Android デバイスで有効化できます: WiFi または ADB。
WiFi プロファイリングは、以下の手順で行います。
ADB プロファイリングは、以下の手順で行います。
adb forward tcp:54999 localabstract:Unity-{insert bundle identifier here}
ノート ドロップダウンメニューのエントリーは、選択したターゲットが Android であるときのみ表示されまう。
ファイアウォールを使用している場合、送信設定でポートの 54998 から 55511 が開放されていることを確認します。これらのポートは Unity によりリモートプロファイリングで使用されます。
ほかのプラットフォームと同様に、WebGL 上で Unity プロファイラーを使用できます。重要な違いの 1つは、WebGL はブラウザ側で着信接続を許可しない通信に WebSockets を使用するため、WebGL の実行プレーヤーにアタッチできないことです。代わりに、ビルド設定で「Autoconnect profiler」チェックボックスを使用する必要があります。 WebGL では、ドローコールは現在プロファイリングできません。