Version: 5.4
プロファイラー ウィンドウ
CPU Usage Profiler

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

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

To profile your game running on an other device or a player running on another computer, it is possible to connect the editor to that other player. The dropdown Active Profiler will show all players running on the local network. These players are identified by player type and the host name running the player “iPhonePlayer (Toms iPhone)”. To be able to connect to a player, the player must be launched with the Development Build checkbox found in the Build Settings dialog. From here it is also possible to tick a checkbox to make the Editor and Player Autoconnect at startup.

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

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

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

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

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

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

View SyncTime

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

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

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

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

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

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

プロファイラー ウィンドウ
CPU Usage Profiler