プロファイラー ウィンドウ
CPU 使用率エリア

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

Unity プレイヤーへのアタッチ

ゲームが他のデバイスや他のコンピューターでプレイヤーにより実行されているのをプロファイリングするため、他のプレイヤーにエディターを接続することが可能です。ドロップダウンの Active Profiler によりローカルネットワークで実行されているすべてのプレイヤーが表示されます。これらのプレイヤーはプレイヤーの種類とプレイヤーが実行されているホスト名 “iPhonePlayer (トムの iPhone)” で識別できます。プレイヤーに接続するためには iPhone)"。Build Settings ダイアログの Development Build チェックボックスを有効にして起動する必要があります。その先はさらにチェックボックスを選択してエディターおよびプレイヤーを起動時に自動接続させることができます。

プロファイラーのコントロール

プロファイラーのコントロールはウィンドウ上部のツールバーにあります。プロファイリングを有効/無効にするのにこれらを使用し、プロファイリングされたフレームを操作する、等々に使用してください。トランスポートのコントロールはツールバーの一番右端にあります。ゲームが実行されていてプロファイラーがデータを収集している間、これらのトランスポートのコントロールをクリックすることでゲームがポーズされます。コントロールはまず最初の記録されたフレームに移動して、1 フレーム戻り、1 フレーム進んでおのおのの最終フレームに移動します。プロファイラーはすべての記録されたフレームを保持せず、first フレームの捉え方はメモリに残っている最も古いフレームと考えるべきです。“current” トランスポートボタンによりリアルタイムで収集されたデータを表示します。Active Profiler ポップアップメニューによりプロファイリングがエディターで行うべきか別のプレイヤー (例えば接続された iOS デバイスで実行されているゲーム) で行うべきかを選択できます。

ディーププロファイリング

Deep Profile を有効にすると すべての スクリプトコードがプロファイリングされます - すなわちすべての関数コールが記録されます。これはゲームコードのどこで時間を要したかを正確に知りたいときに便利です。

ディーププロファイリングは 非常に大きなオーバーヘッド を要するとともにメモリも大量に使用するため、プロファイリングしている間はゲームが著しく遅くなります。もし複雑なスクリプトコードを使用している場合、ディーププロファイリングは不可能である場合があります。ディーププロファイリングはシンプルなスクリプトつきの小規模なゲームでは十分に速く動作します。もしゲーム全体で使用して、ゲームがほとんど実行できないほどフレームレートが落ちる場合、このアプローチは避けるべきであり、代わりに以下に説明するアプローチを使用すべきです。ディーププロファイリングはゲームを設計しながら鍵となる機能をどう実装するか決めるときに役立ちます。大規模なゲームではディーププロファイリングにより Unity がメモリ不足に陥るためこの場合は不可能かもしれません。

手動でスクリプトのブロックをプロファイリングすることはディーププロファイリングよりもオーバーヘッドがかかります。Profiler.BeginSample および Profiler.EndSample スクリプティング関数を使用してコードのセクション周りのプロファイリングを有効化/無効化します。

SyncTime の表示

固定フレームレートや垂直ブランクと同期するとき、Unity は待ち時間を “Wait For Target FPS” に記録します。デフォルトではこの時間はプロファイラーに表示されていません。待ち時間を表示するには “View SyncTime” をオンにします。これはフレームレートが落ち始めるまでの遊びがどれぐらいあるか、を意味します。

プロファイラータイムライン

プロファイラーウィンドウの上側にある期間のパフォーマンスを表示します。ゲームを実行したとき、データは毎フレーム記録されて、直近の数百フレームの履歴が表示されます。特定フレームをクリックすることでウィンドウの下部に詳細が表示されます。どのタイムラインのエリアを現在選択しているかによって異なる詳細が表示されます。

タイムラインの垂直方向のスケールは自動的に管理されていてウィンドウの垂直方向のスペースを埋めようたもします。例えば CPU 使用率でより詳細を確認したいとき、メモリやレンダリングのエリアを閉じます。さらにタイムラインと統計情報の間の枠線を選択してドラッグすることでタイムラインのチャートで使用される画面領域を増やすことができます。

タイムラインはいくつかのエリアから構成されます: CPU 使用率、レンダリングやメモリです。これらのエリアを閉じるにはパネルの close ボタンをクリックし、もう一回追加するには Profile Controls バーの、Add Area ドロップダウンを使用します。

色のついた正方形になっているラベルエリアは関連するタイムラインを表示したり非表示にしたりコントロールすることが可能です。ディスプレイをクリック時に表示されるカラーキーのサンプルを削除するには、キーの位置が裏暗くなっていきグラフから削除されます。これは、例えば、CPU グラフ内のスパイクの原因を特定するために有用です。

プロファイラー ウィンドウ
CPU 使用率エリア