
プロファイリングとデバッグのためのツール
没入型のゲーム体験を制作するには、スムーズなパフォーマンスが不可欠であることは、すべてのゲームクリエイターが知っています。そして、そのためには、ゲームをプロファイリングする必要があります。
Unity で利用可能なプロファイリングおよびデバッグツールと、ターゲットプラットフォームで利用可能なツールの概要をご覧ください。
この情報は、無料でダウンロードできる e ブック「Ultimate guide to profiling Unity games」から抜粋したものです。この e ブックは、ゲーム開発、プロファイリング、最適化の Unity の社内外のエキスパートによって作成されました。

Unity ツールとネイティブツールの両方を使用して最良の結果を得る
プロファイリングは探偵の仕事のようなもので、アプリケーションのパフォーマンスが低下している理由や、コードが過剰なメモリを割り当てている理由の謎を解明します。プロファイリングから得られる最大のメリットは、プロジェクトの開発ライフサイクルの早い段階で計画を立てることです。これは、プロアクティブかつ反復的なプロセスです。ゲームのリリース直前ではなく、早期に頻繁にプロファイリングを行うことで、あなたとあなたのチームはプロジェクトの「パフォーマンスシグネチャ」を理解し、確立することができます。例えば、パフォーマンスが低下した場合、問題が発生した箇所を簡単に特定し、迅速に問題を修正することができます。
最も正確なプロファイリング結果は、ターゲットデバイスでビルドを実行してプロファイリングし、プラットフォーム固有のツールを使用して各ターゲットプラットフォームのハードウェア特性を掘り下げることによって得られます。
Unity には、エディター内とハードウェア上の両方でコードの分析と最適化を行うための一連の強力な無料のプロファイリングツールが付属しています。また、Arm、Apple、Sony、Microsoft など、ターゲットプラットフォームごとに設計された優れたネイティブプロファイリングツールもいくつかあります。この 2 つを組み合わせることで、すべてのターゲットデバイスのアプリケーションパフォーマンスをより包括的に把握できます。

Unity のプロファイリングツール
Unity のプロファイリングツールは、エディターとパッケージマネージャーで利用できます。各ツールは、プロジェクトのさまざまな部分のプロファイリングに特化しています。
- Unity プロファイラーは、プロジェクトのパフォーマンスを測定し、問題を引き起こしているプロセスを特定するのに役立ちます。プロファイラーは、オーディオ、物理演算、レンダリング、アニメーションなど、さまざまなタスクに使用されている CPU 時間などのデータを収集して表示します。再生モードのアプリケーションである Unity エディターのパフォーマンスを測定し、開発モードでアプリケーションを実行しているデバイスに接続します。この必須ツールを使用してプロファイリングを開始しましょう。まずはプロファイリングのコースをご覧ください。
- メモリプロファイラーは、メモリパフォーマンスの詳細な分析を提供します。メモリ使用量を減らすことで、クラッシュを減らし、ロード時間を短縮し、プロジェクトを古いデバイスと互換性を持たせることができます。Memory Profiler は現在プレビュー版ですが、Unity 2022 LTS で検証される予定です。
- Profile Analyzer は、Unity プロファイラーの一連のフレームからフレームとマーカーの両方のデータを集計して視覚化し、多くのフレームにわたる動作を調べるのに役立ちます。(これは、Unity プロファイラーですでに利用可能なシングルフレーム分析を補完するものです)。また、2 つのプロファイリングデータセットを比較して、変更がアプリケーションのパフォーマンスに与える影響を判断することもできます。
- フレームデバッガーを使用すると、実行中のゲームの再生を特定のフレームで停止して、そのフレームのレンダリングに使用されている個々のドローコールを表示することができます。デバッガーでは、ドローコールを一覧表示するだけでなく、ドローコールを 1 つずつステップ実行して、グラフィック要素からシーンがどのように構成されているかを確認できます。
- Profiling Core パッケージは、Unity Profiler のキャプチャーにコンテキスト情報を追加するための API を提供します。

ネイティブのプロファイリングツール
Android/Arm
- Android Studio:最新の Android Studio には、従来の Android Monitor ツールに代わる新しい Android Profiler が含まれています。これを使用して、Android デバイスのハードウェアリソースに関するリアルタイムデータを収集します。
- Arm Mobile Studio:Arm ハードウェアを実行しているデバイス向けに、ゲームの詳細なプロファイリングとデバッグを支援する一連のツール。
- Snapdragon Profiler:Snapdragon チップセットデバイス専用です。CPU、GPU、DSP、メモリ、電力、熱、ネットワークのデータを分析して、パフォーマンスのボトルネックを見つけて修正します。
Intel
- インテル VTune:このツールスイートを使用して、Intel プラットフォームのパフォーマンスのボトルネックを迅速に発見して修正できます。Intel プロセッサーのみ。
- インテルGPAスイート:問題のある領域を素早く特定してゲームのパフォーマンスを向上させるのに役立つ、グラフィックスに重点を置いた一連のツール。
Xbox / Windows
- PIX:PIX は、DirectX 12 を使用している Windows および Xbox ゲーム開発者向けのパフォーマンスチューニングおよびデバッグツールです。CPU と GPU のパフォーマンスを把握および分析するためのツールや、さまざまなリアルタイムパフォーマンスカウンターを監視するためのツールが含まれています。Xbox 向けゲーム開発での PIX の活用の詳細については、Xbox 開発者登録してください。
PC/ユニバーサル
- AMD μProf:AMD uProf は、AMD ハードウェア上で動作するアプリケーションのパフォーマンスを把握してプロファイリングするためのパフォーマンス分析ツールです。
- NVIDIA NSight:NVIDIA の最新のビジュアルコンピューティングハードウェアを使用して、開発者がクラストップレベルの最先端のソフトウェアを構築、デバッグ、プロファイリング、開発できるツール。
- Superluminal:Superluminal は、C++、Rust、.NET で記述された Windows、Xbox One、PlayStation でのアプリケーションのプロファイリングをサポートする、高性能かつ高周波のプロファイラーです。ただし、これは有料の製品であり、使用にはライセンスが必要です。
PlayStation
- CPU プロファイラーツールは PlayStation ハードウェアで利用できます。詳細については、PlayStation® 登録開発者である必要があります。
iOS
- Xcode Instruments と Xcode フレームデバッガー:Instruments は、Xcode ツールセットの一部である強力で柔軟なパフォーマンス分析およびテストツールです。
WebGL
- Firefox プロファイラー:Firefox プロファイラーを使用して、コールスタックを掘り下げ、Unity WebGL ビルドの炎のグラフを表示します(特に)。また、プロファイリングのキャプチャを並べて見ることができる比較ツールも備えています。
- Chrome DevTools Performance:Unity WebGL ビルドのプロファイリングに使用できるもう 1 つのウェブブラウザーツール。
GPU デバッグおよびプロファイリングツール
Unity のフレームデバッガーツールは CPU から送信されるドローコールをキャプチャして表示しますが、以下のツールは GPU がこれらのコマンドを受け取ったときに何をするかを示すのに役立ちます。
プラットフォーム固有のものもあり、より密接なプラットフォーム統合を提供します。関心のあるプラットフォームに関連するツールをご覧ください。
- Arm Graphics Analyzer:Arm の Mobile Studio ソフトウェアスイートの一部
- RenderDoc:デスクトップおよびモバイルプラットフォーム用の GPU デバッガー
- インテルGPA:Intel ベースのプラットフォーム向けのグラフィックスプロファイリング
- Apple フレームキャプチャデバッグツール:Apple プラットフォームでの GPU デバッグ
- Visual Studio Graphics Diagnostics:Windows や Xbox などの DirectX ベースのプラットフォームでは、これまたは PIX を選択します
- NVIDIA Nsightフレームデバッガー:NVIDIA GPU 用の OpenGL ベースのフレームデバッガー
- AMD Radeon Developer Tool Suite:AMD GPU 用の GPU プロファイラー
- Xcode フレームデバッガー:iOS および macOS 向け

e ブック「 Ultimate guide to profiling Unity games」を無料でダウンロードして、 すべてのヒントとベストプラクティスを入手しましょう。