0_4_2_Profiler
UnityのProfilerは、ゲームやアプリケーションのパフォーマンスを監視するツールで、CPU、GPU、メモリ、描画処理など、さまざまな側面を詳細に確認することができます。
これにより、ボトルネックやパフォーマンスの問題を特定し、最適化に役立てることができます。
ここでは、Profilerの使い方と主要な項目について詳しく説明します。
Profilerの開き方
- Unityエディタの上部メニューから Window → Analysis → Profiler を選択します。
- Profiler ウィンドウが表示され、ゲームプレイ中のデータをリアルタイムで監視できます。
Profilerのタブと項目
1. CPU Usage
CPU Usageタブでは、CPUに関する情報を確認できます。主にフレームごとの処理時間を確認することができます。
-
Timeline: フレームの詳細な実行内容を表示します。実行中の処理がタイムラインで表示され、どの処理が長時間かかっているかがわかります。
- 緑色のバーが各フレームの時間を示し、各プロセスがどれだけのCPU時間を消費しているかを見ることができます。
-
スクリプト: ゲームで実行しているスクリプト(
MonoBehaviourやUpdateメソッドなど)がどれだけ時間を消費しているかを確認できます。スクリプトが時間を消費している場合は、最適化が必要です。 -
Rendering: 描画に関連する処理がどれだけ時間を消費しているかを確認できます。
-
GC (Garbage Collection): ガベージコレクションが発生しているタイミングとその処理時間を確認できます。頻繁なGCはパフォーマンスを低下させる原因となるため、これを減らすことが最適化のポイントです。
2. Memory
メモリ使用状況を表示します。どのリソースがどれくらいのメモリを使用しているかを把握することができます。
- Total Reserved Memory: Unityが予約したメモリの合計サイズを示します。
- Used Memory: 実際に使用されているメモリの量を示します。
- Textures, Meshes, Shaders, Audio など、各リソースがどれだけメモリを消費しているかを個別に確認できます。
メモリリークや過剰なメモリ使用を防ぐために、どのリソースがメモリを大量に使用しているかを特定し、最適化を検討することが重要です。
3. Rendering
描画に関する情報を表示します。このタブでは、フレームごとのレンダリングのパフォーマンスを確認できます。
- Draw Calls: 描画にかかる呼び出しの回数です。多すぎる描画呼び出しはパフォーマンスを低下させます。
- Triangles: 描画される三角形の数。多くの三角形を描画する場合、パフォーマンスに影響が出る可能性があります。
- Batches: 同じ状態のオブジェクトを一度に描画するために、どれだけバッチ処理を行っているかを示します。描画バッチ数が多いと効率が悪くなります。
4. GPU Usage
GPUの使用状況を表示します。このタブでは、GPUの処理にどれだけ負荷がかかっているかを監視します。
- GPU Timing: GPUがどれだけの時間をかけて処理を行ったかを表示します。
- GPU Memory: GPUが使用しているメモリの量を示します。特にテクスチャやシェーダーが影響を与えることが多いです。
5. Physics
物理演算に関連する情報を表示します。ゲームにおける物理的な処理がパフォーマンスに与える影響を把握できます。
- Simulated: シミュレーションにかかる時間を示します。
- Contacts: 衝突判定や接触にかかる時間を表示します。多すぎる場合は最適化が必要です。
6. Network
ネットワークに関連する情報を表示します。オンラインゲームやネットワーク通信がどれだけのパフォーマンスを消費しているかを確認できます。
- Incoming/Outgoing Data: 受信・送信されたデータの量を確認できます。
- Ping: レイテンシ(遅延)を監視できます。
7. UI
UIに関するパフォーマンスを監視します。UI要素の描画にかかる負荷を確認することができます。
- Canvas: キャンバスに関連する処理時間を監視します。キャンバスの描画や再描画が多すぎるとパフォーマンスが低下します。