Hero background image

プロファイリングとデバッグのためのツール

このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

スムーズなパフォーマンスは、幅広いデバイスとプレイヤーに届く素晴らしいゲーム体験を作成するために不可欠です。Unityは、Unity開発者がターゲットプラットフォーム用のネイティブプロファイリングツールと併用できる完全なプロファイリングおよびメモリ管理ツールのセットを提供します。

この記事では、Unityで利用可能なプロファイリングおよびデバッグツールと、ターゲットプラットフォーム用のツールの概要を提供します。

ここにある情報は、無料でダウンロードできるUnityゲームのプロファイリングに関する究極のガイド(Unity 6版)から抜粋されています。この電子書籍は、ゲーム開発、プロファイリング、および最適化における外部および内部のUnity専門家によって作成されました。

Unity ツールとネイティブツールの両方を使用して最良の結果を得る

スリムでパフォーマンスの高いコードと最適化されたメモリ使用は、低価格帯および高価格帯のデバイス全体でより良いユーザー体験をもたらします。これは、低価格帯のデバイスでより多くのユーザーにリーチできるように熱とバッテリー消費に取り組むことから、プレイヤーの快適さ、最終的にはより高い採用率とリテンションを促進する要因に至るまで、すべてに当てはまります。これは、配信プラットフォームの仕様を通過するための要件にもなり得ます。プロファイリングは探偵の仕事のようなもので、アプリケーションのパフォーマンスが遅れている理由や、コードが過剰なメモリを割り当てている理由の謎を解き明かします。

プロファイリングから得られる最も大きな利益は、プロジェクトの開発ライフサイクルの初期段階で計画を立てるときに得られます。これは継続的な積極的かつ反復的なプロセスです。ゲームを出荷する直前ではなく、早期かつ頻繁にプロファイリングを行うことで、あなたとあなたのチームはプロジェクトの「パフォーマンスシグネチャー」を理解し確立できます。たとえば、パフォーマンスが急落した場合、問題が発生した時点を簡単に特定し、迅速に問題を解決できます。

最も正確なプロファイリング結果は、ターゲットデバイス上でビルドを実行しプロファイリングすることから得られ、各ターゲットプラットフォームのハードウェア特性を掘り下げるためにプラットフォーム固有のツールを使用します。

Unity には、エディター内とハードウェア上の両方でコードの分析と最適化を行うための一連の強力な無料のプロファイリングツールが付属しています。主要なプラットフォームオーナーから提供されるような、各ターゲットプラットフォーム用に設計された優れたネイティブプロファイリングツールもいくつかあります。両方の組み合わせを使用することで、すべてのターゲットデバイスにおけるアプリケーションパフォーマンスのより全体的なビューが得られます。

Unity Profilerのハイライトモジュール
Profilerのハイライトモジュールは、ゲームが設定されたターゲットフレーム時間に対してどのようにパフォーマンスを発揮しているかを理解するのを容易にします。この例では、ターゲット60 fpsを達成するためにCPUとGPUの両方で多くの最適化作業が必要です。

Unity のプロファイリングツール

Unityのプロファイリングツールは、エディターとパッケージマネージャーを通じて利用可能です。これらのツールは、Unityのフレームデバッガーと共に、電子書籍Unityゲームのプロファイリングに関する究極のガイド(Unity 6版)で詳しく説明されています。

- Unity Profilerは、Unityエディターのパフォーマンスと、デバイスに接続された状態での再生モードまたは開発モードでのアプリケーションのパフォーマンスを測定します。

- Profiling Coreパッケージは、Unity Profilerキャプチャにコンテキスト情報を追加するために使用できるAPIを提供します。

- Memory Profilerは、ゲームが使用しているメモリの量と、それを使用しているオブジェクトについての詳細な分析を提供します。

- Profile Analyzerは、2つのプロファイリングデータセットを並べて比較し、変更がアプリケーションのパフォーマンスにどのように影響するかを分析できるようにします。

- Project Auditorは、プロジェクト内のスクリプト、アセット、コードに関する洞察と問題を報告し、その多くはパフォーマンスに関連しています。

Unityは、プロファイリングツールのスイートを補完するいくつかのデバッグツールも提供しています。例えば、レンダリングデバッガーの表示統計パネルでは、エディターを接続せずに開発ビルド上で限られたパフォーマンス数値とマーカー(CPU + GPU)を見ることができます。

Unityのフレームデバッガー
フレームデバッガーを使用して、特定のオーバードローが発生するしくみを分析します。

ネイティブのプロファイリングツール

Android / Arm

- Android Studio:最新のAndroid Studioには、以前のAndroid Monitorツールに代わる新しいAndroid Profilerが含まれています。これを使用して、Androidデバイスのハードウェアリソースに関するリアルタイムデータを収集します。

- Arm Performance Studio:Armハードウェアを搭載したデバイス向けに、ゲームを詳細にプロファイリングおよびデバッグするためのツールのスイートです。

- Snapdragon Profiler:Snapdragonチップセットデバイス専用です。CPU、GPU、DSP、メモリ、電力、熱、ネットワークデータを分析して、パフォーマンスのボトルネックを見つけて修正します。

インテル

- インテル VTune:このツールスイートを使用して、インテルプラットフォーム上のパフォーマンスボトルネックを迅速に見つけて修正します。インテルプロセッサ専用です。

- インテル GPA スイート:ゲームのパフォーマンスを向上させるために、問題のある領域を迅速に特定するためのグラフィックスに特化したツールのスイートです。

Xbox / PC
- PIX:PIXは、DirectX 12を使用するWindowsおよびXboxゲーム開発者向けのパフォーマンス調整とデバッグツールです。CPUおよびGPUのパフォーマンスを理解し分析するためのツールや、さまざまなリアルタイムパフォーマンスカウンターを監視するためのツールが含まれています。

PC / Universal

- AMD μProf:AMD uProfは、AMDハードウェア上で実行されるアプリケーションのパフォーマンスを理解し、プロファイリングするためのパフォーマンス分析ツールです。

- NVIDIA NSight:NVIDIAの最新のビジュアルコンピューティングハードウェアを使用して、開発者がクラス最高の最先端ソフトウェアを構築、デバッグ、プロファイリング、開発できるようにするツールです。

- Samply:Samplyは、FirefoxプロファイラーをUIとして使用するオープンソースのコマンドラインCPUプロファイラーです。macOS、Linux、Windowsで動作します。

- Superluminal:Superluminalは、C++、Rust、.NETで書かれたWindows、Xbox One、PlayStation上のアプリケーションをプロファイリングすることをサポートする高性能、高頻度のプロファイラーです。ただし、有料製品であり、使用するにはライセンスが必要です。私たちのディスカッション記事をチェックして、始めるための簡単な紹介を見てください。

PlayStation

- CPUプロファイラーツールはPlayStationハードウェア用に利用可能です。詳細については、登録されたPlayStation®開発者である必要があります。ここから始めてください

iOS

- Xcode InstrumentsとXCode Frame Debugger:Instrumentsは、Xcodeツールセットの一部である強力で柔軟なパフォーマンス分析およびテストツールです。

WebGL

- Firefox Profiler:Firefox Profilerを使用して、Unity WebGLビルドのコールスタックを掘り下げ、フレームグラフを表示します(他のことの中で)。また、プロファイリングキャプチャを並べて比較するためのツールも備えています。

- Chrome DevTools Performance:Unity WebGLビルドをプロファイリングするために使用できる別のウェブブラウザツールです。

ArmのStreamline Performance Analyzer
Arm の Streamline Performance Analyzer には、ターゲットである Arm ハードウェアで行うプロファイリングのライブセッション中に収集できる、豊富なパフォーマンスカウンター情報が用意されています。これは、オーバードローから生じるメモリ帯域幅の飽和などのパフォーマンス問題を特定するのに最適です。

GPUデバッグおよびプロファイリングツール

Unity Frame DebugツールがCPUから送信される描画コールをキャプチャして示す一方で、次のツールはGPUがこれらのコマンドを受け取ったときに何をするかを示すのに役立ちます。

一部はプラットフォーム固有で、より密接なプラットフォーム統合を提供します。関心のあるプラットフォームに関連するツールを見てみましょう:

- Arm Streamline:ArmのPerformance Studioソフトウェアスイートの一部で、CPUとGPUの低オーバーヘッドパフォーマンス測定に焦点を当てています。

- Arm Frame Advisor:ArmのPerformance Studioソフトウェアスイートの一部で、フレームベースのAPIプロファイリングに焦点を当てています。

- RenderDoc:デスクトップおよびモバイルプラットフォーム向けのGPUデバッガーで、フレームベースのAPIデバッグに焦点を当てています。

- Intel GPA:Intelベースのプラットフォーム向けのグラフィックスプロファイリング

- Apple Frame Capture Debugging Tools:Appleプラットフォーム向けのGPUデバッグ

- Visual Studio Graphics Diagnostics:WindowsやXboxなどのDirectXベースのプラットフォームには、これとPIXのいずれかを選択してください。

- NVIDIA Nsight Frame Debugger:NVIDIA GPU向けのOpenGLベースのフレームデバッガー

- AMD Radeon Developer Tool Suite:AMD GPU向けのGPUプロファイラー

- Xcode frame debugger:iOSおよびmacOS向け。

Unityの電子書籍
Unity 6のためのさらなるヒント

Unityのベストプラクティスハブから、上級Unity開発者やクリエイター向けの多くのベストプラクティスやヒントを見つけることができます。業界の専門家やUnityのエンジニア、テクニカルアーティストが作成した30以上のガイドから選択し、Unityのツールセットやシステムを使って効率的に開発する手助けをします。