プロファイリングとデバッグのためのツール
すべてのゲームクリエイターは、没入感のあるゲーム体験を生み出すにはスムーズなパフォーマンスが不可欠であることを知っています。そして、それを実現するには、ゲームをプロファイリングする必要があります。
Unity で利用できるプロファイリングおよびデバッグ ツールと、ターゲット プラットフォームで利用できるプロファイリングおよびデバッグ ツールの概要を説明します。
ここの情報は、無料でダウンロードできる電子書籍『Unity ゲームのプロファイリングに関する究極のガイド』 から抜粋したものです。この電子書籍は、ゲーム開発、プロファイリング、最適化の分野における社内外の Unity エキスパートによって作成されました。
プロファイリングは探偵の仕事のようなもので、アプリケーションのパフォーマンスが遅れている理由や、コードが過剰なメモリを割り当てている理由の謎を解明します。プロファイリングから最大の利益を得るには、プロジェクトの開発ライフサイクルの早い段階で計画を立てる必要があります。これは、継続的かつ積極的かつ反復的なプロセスです。ゲームの出荷直前ではなく、早い段階で頻繁にプロファイリングを行うことで、あなたとあなたのチームはプロジェクトの「パフォーマンス シグネチャ」を理解し、確立することができます。たとえば、パフォーマンスが急激に低下した場合、問題が発生していることを簡単に特定し、すぐに問題を解決できます。
最も正確なプロファイリング結果は、ターゲット デバイス上でビルドを実行してプロファイリングすること、およびプラットフォーム固有のツールを使用して各ターゲット プラットフォームのハードウェア特性を詳しく調べることによって得られます。
Unity には、エディター内とハードウェア上の両方でコードの分析と最適化を行うための一連の強力な無料のプロファイリングツールが付属しています。Arm、Apple、Sony、Microsoft などから入手できるものなど、各ターゲット プラットフォーム向けに設計された優れたネイティブ プロファイリング ツールもいくつかあります。両方を組み合わせて使用すると、すべてのターゲット デバイスにわたるアプリケーション パフォーマンスをより包括的に把握できます。
Unity の プロファイリング ツールは、 エディターと パッケージ マネージャーで利用できます。各ツールは、プロジェクトのさまざまな部分のプロファイリングに特化しています。
- Unity Profiler は、 プロジェクトのパフォーマンスを測定し、問題の原因となっている可能性のあるプロセスを特定するのに役立ちます。プロファイラーは、オーディオや物理からレンダリングやアニメーションまで、さまざまなタスクに使用されている CPU 時間などのデータを収集して表示します。Unity エディターのパフォーマンス、再生モードでのアプリケーションを測定し、開発モードでアプリケーションを実行しているデバイスに接続します。この重要なツールを使用してプロファイリングを開始します。まず、 プロファイリングに関するこのコースを ご覧ください。
- メモリ プロファイラーは、 メモリ パフォーマンスの詳細な分析を提供します。メモリ使用量を削減すると、クラッシュが減り、読み込み時間が短縮され、プロジェクトが古いデバイスと互換性を持つようになります。メモリプロファイラーは現在プレビュー段階ですが、Unity 2022 LTS で検証される予定です。
- プロファイル アナライザーは、Unity Profiler フレームのセットからフレーム データとマーカー データの両方を集約して視覚化し、多数のフレームにわたる動作を調べるのに役立ちます。(これは、Unity Profiler ですでに利用可能な単一フレーム分析を補完するものです。)また、2 つのプロファイリング データセットを比較して、変更がアプリケーションのパフォーマンスにどのように影響するかを判断することもできます。
- フレームデバッガーを使用すると、実行中のゲームの再生を特定のフレームで停止して、そのフレームのレンダリングに使用されている個々のドローコールを表示することができます。デバッガーでは、描画呼び出しを一覧表示するだけでなく、一度に 1 つずつステップ実行できるため、シーンがグラフィック要素からどのように構築されるかを確認できます。
- Profiling Core パッケージは、Unity Profiler キャプチャにコンテキスト情報を追加するための API を提供します。
アンドロイド / アーム
- Androidスタジオ:最新の Android Studio には、以前の Android Monitor ツールに代わる新しい Android Profiler が含まれています。Android デバイスのハードウェア リソースに関するリアルタイム データを収集するために使用します。
- Armモバイルスタジオ:Arm ハードウェアを実行するデバイス向けに、ゲームの詳細なプロファイル作成とデバッグに役立つツール スイートです。
- Snapdragon プロファイラー:Snapdragon チップセットデバイス専用です。CPU、GPU、DSP、メモリ、電力、熱、ネットワーク データを分析して、パフォーマンスのボトルネックを見つけて修正します。
Intel
- インテルVTune:このツール スイートを使用すると、Intel プラットフォーム上のパフォーマンスのボトルネックをすばやく検出して修正できます。Intel プロセッサのみ対象です。
- Intel GPA スイート:問題のある領域をすばやく特定してゲームのパフォーマンスを向上させるのに役立つ、グラフィックスに重点を置いたツール スイートです。
Xbox / Windows
- 写真:PIX は、DirectX 12 を使用する Windows および Xbox ゲーム開発者向けのパフォーマンス チューニングおよびデバッグ ツールです。CPU と GPU のパフォーマンスを理解して分析するツールや、さまざまなリアルタイム パフォーマンス カウンターを監視するツールが含まれています。Xbox ゲーム開発に PIX を活用する方法の詳細については、Xbox 開発者として 登録してください 。
PC / ユニバーサル
- AMD μProf:AMD uProf は、AMD ハードウェア上で実行されるアプリケーションのパフォーマンスを理解し、プロファイリングするためのパフォーマンス分析ツールです。
- NVIDIA NSight:開発者が NVIDIA の最新のビジュアル コンピューティング ハードウェアを使用して、クラス最高の最先端のソフトウェアを構築、デバッグ、プロファイリング、開発できるようにするツールです。
- 超光速:Superluminal は、C++、Rust、.NET で記述された Windows、Xbox One、PlayStation 上のアプリケーションのプロファイリングをサポートする、高性能で高頻度のプロファイラーです。ただし、これは有料製品であり、使用するにはライセンスが必要です。
PlayStation
- PlayStation ハードウェア用の CPU プロファイラー ツールが利用可能です。詳細については、PlayStation®開発者として登録されている必要があります。
iOS
- Xcode Instruments と Xcode フレームデバッガー:Instruments は、Xcode ツールセットの一部である強力で柔軟なパフォーマンス分析およびテスト ツールです。
WebGL
- Firefox プロファイラー:Firefox Profiler を使用して、コールスタックを詳しく調べ、Unity WebGL ビルドのフレーム グラフなどを表示します。また、プロファイリングキャプチャを並べて表示するための比較ツールも備えています。
- Chrome DevTools のパフォーマンス:Unity WebGL ビルドのプロファイルに使用できる別の Web ブラウザー ツール。
Unity フレーム デバッガー ツールは CPU から送信される描画呼び出しをキャプチャして図解しますが、次のツールは GPU がそれらのコマンドを受信したときに何を実行するかを示すのに役立ちます。
一部はプラットフォーム固有であり、より緊密なプラットフォーム統合を提供します。関心のあるプラットフォームに関連するツールを見てみましょう。
- Arm グラフィックス アナライザー:ArmのMobile Studioソフトウェアスイートの一部
- レンダードキュメント:デスクトップおよびモバイル プラットフォーム用の GPU デバッガー
- インテルGPA:Intel ベースのプラットフォーム向けグラフィックス プロファイリング
- Apple フレームキャプチャデバッグツール:Apple プラットフォームの GPU デバッグ
- Visual Studio グラフィックス診断:WindowsやXboxなどのDirectXベースのプラットフォームの場合は、これとPIXを選択してください。
- NVIDIA Nsight フレームデバッガー:NVIDIA GPU 用の OpenGL ベースのフレーム デバッガー
- AMD Radeon 開発ツールスイート:AMD GPU 用 GPU プロファイラー
- Xcode フレームデバッガー:iOSおよびmacOS向け
すべてのヒントとベスト プラクティスを入手するには、電子書籍 「Unity ゲームのプロファイリングに関する究極のガイド」を無料でダウンロードしてください。