プロファイリング ツールの概要First look at profiling tools

Visual Studio にはさまざまなプロファイリング ツールがあります。各種アプリの多様な問題を診断できます。Visual Studio provides a variety of profiling tools to help you diagnose different kinds of performance issues depending on your app type. この記事では、最も一般的なプロファイリング ツールを簡単に紹介します。In this article, we give a quick look at the most common profiling tools.

プロファイリング ツールでサポートされるさまざまなアプリの種類については、「使用するツール」をご覧ください。To see profiling tool support for different app types, see Which tool should I use?

デバッグ中にパフォーマンスを測定するMeasure performance while debugging

[診断ツール] ウィンドウのプロファイリング ツールには、デバッグ セッション中にアクセスできます。The profiling tools that you can access during a debugging session are available in the Diagnostic Tools window. [診断ツール] ウィンドウは、オフにしていない限り自動的に表示されます。The Diagnostic Tools window appears automatically unless you have turned it off. このウィンドウを表示するには、 [デバッグ]、[ウィンドウ]、[診断ツールの表示] の順にクリックします。To bring up the window, click Debug / Windows / Show Diagnostic Tools. ウィンドウを開いている状態で、データを収集するツールを選択できます。With the window open, you can select tools for which you want to collect data.

[診断ツール] ウィンドウDiagnostic Tools window

デバッグ中、 [診断ツール] ウィンドウを利用し、CPU とメモリの使用状況を分析できます。また、パフォーマンス関連情報を示すイベントを閲覧できます。While you are debugging, you can use the Diagnostic Tools window to analyze CPU and memory usage, and you can view events that show performance-related information.

[診断ツール] の [概要] ビューDiagnostic Tools Summary view

[診断ツール] ウィンドウはアプリをプロファイリングする一般的な方法ですが、リリース ビルドでは代わりにアプリの事後分析を行うこともできます。The Diagnostic Tools window is a common way to profile apps, but for Release builds you can also do a post-mortem analysis of your app instead. 各種手法の詳細については、「デバッガーを使用して、または使用せずにプロファイリング ツールを実行する」を参照してください。For more information on different approaches, see Run profiling tools with or without the debugger. プロファイリング ツールでサポートされるさまざまなアプリの種類については、「使用するツール」をご覧ください。To see profiling tool support for different app types, see Which tool should I use?

[診断ツール] ウィンドウまたはデバッグ セッション中に使用できるツールには、次のものがあります。Tools available in the Diagnostic Tools window or during a debugging session include:

注意

Windows 8 以降では、デバッガーを使用してプロファイル ツールを実行する必要があります ( [診断ツール] ウィンドウ)。Windows 8 and later is required to run profiling tools with the debugger ( Diagnostic Tools window). Windows 7 以降では事後検証ツールを使用できます。You can use the post-mortem tools with Windows 7 and later.

リリース ビルドでパフォーマンスを測定するMeasure performance in release builds

パフォーマンス プロファイラーのツールは、 リリース ビルドの分析を提供することを目的としています。Tools in the Performance Profiler are intended to provide analysis for Release builds. パフォーマンス プロファイラーでは、アプリの実行中に診断情報を収集し、収集した情報をアプリの停止後に調査できます (事後分析)。In the Performance Profiler, you can collect diagnostic info while the app is running, and then examine the collected information after the app is stopped (a post-mortem analysis).

[デバッグ] > [パフォーマンス プロファイラー] を選択して (または Alt + F2 キーを押して)、パフォーマンス プロファイラーを開きます。Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

パフォーマンス プロファイラーPerformance Profiler

パフォーマンス プロファイラーとデバッガーに統合されているツールの CPU 使用率またはメモリ使用量ツールの使用の詳細については、「デバッガーを使用して、または使用せずにプロファイリング ツールを実行する」を参照してください。For more information on using the CPU Usage or Memory usage tool in the Performance Profiler vs. the debugger-integrated tools, see Run profiling tools with or without the debugger.

パフォーマンス プロファイラーで使用できるツールには、次のものがあります。Tools available in the Performance Profiler include:

プロファイリング ツールでサポートされるさまざまなアプリの種類については、「使用するツール」をご覧ください。To see profiling tool support for different app types, see Which tool should I use?

シナリオによっては、このウィンドウで複数のプロファイリング ツールを選択できます。In some scenarios, the window allows you to select multiple profiling tools. CPU 使用率などのツールでは、補足データを提供できることがあります。分析に役立てることができます。Tools such as CPU Usage may provide complementary data that you can use to help in your analysis. また、コマンドライン プロファイラーを使用して、複数のプロファイリング ツールを使用するシナリオを有効にすることもできます。You can also use the command-line profiler to enable scenarios involving multiple profiling tools.

PerfTips を使用してパフォーマンスを調べるExamine performance using PerfTips

多くの場合、パフォーマンス情報を表示する最も簡単な方法は、PerfTips を使用することです。Often, the easiest way to view performance information is to use PerfTips. PerfTips を使用すると、コードの操作中にパフォーマンス情報を表示できます。Using PerfTips, you can view performance information while interacting with your code. イベントの継続時間などの情報を確認できます (この時間はデバッガーが最後に一時停止したところから、あるいはアプリが開始したところから計測されます)。You can check information such as the duration of the event (measured from when the debugger was last paused, or when the app started). たとえば、コードをステップ実行すると (F10、F11)、PerfTips には、前のステップ操作から現在のステップまでのアプリのランタイムの長さが表示されます。For example, if you step through code (F10, F11), PerfTips show you the app runtime duration from the previous step operation to the current step.

プロファイリング ツアーのパフォーマンスのヒントProfiling Tour PerfTips

PerfTips を使用すると、コード ブロックの実行にかかる時間や、1 つの関数が完了するまでにかかる時間を調べることができます。You can use PerfTips to examine how long it takes for a code block to execute, or how long it takes for a single function to complete.

PerfTips には、診断ツールの [イベント] ビューに表示されるのと同じイベントが表示されます。PerfTips show the same events that also show up in the Events view of the Diagnostic Tools. [イベント] ビューには、デバッグ中に発生したさまざまなイベントが表示されます。ブレークポイントの設定やコードのステップ実行操作などです。In the Events view, you can view different events that occur while you are debugging, such as the setting of a breakpoint or a code stepping operation.

[診断ツール] の [イベント] ビューDiagnostic Tools Events view

注意

Visual Studio Enterprise をご利用の場合、このタブの [IntelliTrace イベント] も参照してください。If you have Visual Studio Enterprise, you can also see IntelliTrace events in this tab.

CPU 使用率の分析Analyze CPU usage

アプリのパフォーマンスを分析するとき、CPU 使用率ツールから始めると効率的です。The CPU Usage tool is a good place to start analyzing your app's performance. アプリが使用している CPU リソースについて理解できます。It will tell you more about CPU resources that your app is consuming. デバッガーに統合されている CPU 使用率ツールまたは事後分析の CPU 使用率ツールを使用できます。You can use the debugger-integrated CPU Usage tool or the post-mortem CPU Usage tool.

デバッガーに統合されている CPU 使用率ツールを使用する場合は、[診断ツール] ウィンドウを開きます (閉じている場合は、 [デバッグ]、[Windows]、[診断ツールの表示] の順に選択します)。When using the debugger-integrated CPU Usage tool, open the Diagnostics Tool window (if it's closed, choose Debug / Windows / Show Diagnostic Tools ). デバッグ中に、 [概要] ビューを開き、 [CPU プロファイルの記録] を選択します。While debugging, open the Summary view, and select Record CPU Profile.

[診断ツール] での CPU 使用率の有効化Enable CPU usage in the Diagnostic Tools

このツールを使用する 1 つの方法は、コードにブレークポイントを 2 つ設定することです。関数の始めと終わりに 1 つずつ設定するか、分析するコードの領域に設定します。One way to use the tool is to set two breakpoints in your code, one at the beginning and one at the end of the function or the region of code you want to analyze. 2 つ目のブレークポイントで止まったとき、プロファイリング データを調べます。Examine the profiling data when you are paused at the second breakpoint.

CPU 使用率 ビューには、関数が実行時間順に一覧表示されます。実行時間が最も長い関数が一番上に表示されます。The CPU Usage view shows you a list of functions ordered by longest running, with the longest running function at the top. パフォーマンス上のボトルネックが発生している関数を見つけるのに役立ちます。This can help guide you to functions where performance bottlenecks are happening.

[診断ツール] の [CPU 使用率] ビューDiagnostic Tools CPU Usage view

調べたい関数をダブルクリックすると、3 つのウィンドウを持つ詳細な "バタフライ" ビューが表示されます。選択した関数がウィンドウの中央に、呼び出した関数が左に、呼び出された関数が右に表示されます。Double-click on a function that you are interested in, and you will see a more detailed three-pane "butterfly" view, with the selected function in the middle of the window, the calling function on the left, and called functions on the right. 関数本体 セクションに、呼び出し元の関数と呼び出される関数にかかった時間を除き、関数本体にかかった時間の合計 (と時間のパーセンテージ) が表示されます。The Function Body section shows the total amount of time (and the percentage of time) spent in the function body excluding time spent in calling and called functions. このデータは、関数自体がパフォーマンスのボトルネックであるかどうかを判定するのに役立ちます。This data can help you evaluate whether the function itself is a performance bottleneck.

[診断ツール] の [呼び出し元/呼び出し先] "バタフライ" ビューDiagnostic Tools caller callee "butterfly" view

メモリ使用量の分析Analyze memory usage

[診断ツール] ウィンドウでは、 メモリ使用率 ツールを使用してアプリのメモリ使用量を測定することもできます。The Diagnostic Tools window also allows you to evaluate memory usage in your app using the Memory Usage tool. たとえば、ヒープのオブジェクトの数とサイズと数を確認できます。For example, you can look at the number and size of objects on the heap. デバッガーに統合されているメモリ使用量ツールまたはパフォーマンス プロファイラーの事後分析メモリ使用量ツールを使用できます。You can use the debugger-integrated Memory Usage tool or the post-mortem Memory Usage tool in the Performance Profiler.

.NET 開発者は、.NET オブジェクト割り当てツールまたはメモリ使用量ツールのいずれかを選択できます。.NET developers may choose between either the .NET Object Allocation tool or the Memory usage tool.

  • .NET オブジェクト割り当てツール を使用すると、.NET コード内の割り当てパターンと異常を識別したり、ガベージ コレクションの一般的な問題を識別したりすることができます。The .NET Object Allocation tool helps you identify allocation patterns and anomalies in your .NET code, and helps identify common issues with garbage collection. このツールは、事後分析ツールとしてのみ実行されます。This tool runs only as a post-mortem tool. このツールは、ローカルまたはリモートのマシンで実行できます。You can run this tool on local or remote machines.
  • メモリ使用量 ツールは、通常 .NET アプリでは一般的でないメモリ リークを識別するのに役立ちます。The Memory usage tool is helpful in identifying memory leaks, which are not typically common in .NET apps. メモリのチェック中に、コードのステップ実行など、デバッガーの機能を使用する必要がある場合は、デバッガー統合メモリ使用量ツールをお勧めします。If you need to use debugger features while checking memory, such as stepping through code, the debugger-integrated Memory usage tool is recommended.

メモリ使用量 ツールを使用してメモリ使用量を分析するには、少なくとも 1 つのメモリ スナップショットを取得する必要があります。To analyze memory usage with the Memory Usage tool, you need to take at least one memory snapshot. 多くの場合、メモリを分析する最良の方法は 2 枚のスナップショットを取得することです。疑われるメモリ問題の発生直前に 1 枚、発生直後に 1 枚取得します。Often, the best way to analyze memory is to take two snapshots; the first right before a suspected memory issue, and the second snapshot right after a suspected memory issue occurs. それから、2 枚のスナップショットの違いを表示し、厳密に何が変化しているのか確認します。Then you can view a diff of the two snapshots and see exactly what changed. 次の図は、デバッガーに統合されているツールを使用してスナップショットを取得する方法を示しています。The following illustration shows taking a snapshot with the debugger-integrated tool.

[診断ツール] の [スナップショットの作成]Take a snapshot in the Diagnostic Tools

矢印リンクの 1 つを選択すると、ヒープの差分ビューが与えられます (赤い上向き矢印メモリ使用量増加は、オブジェクト数の増加 (左) とヒープ サイズの増加 (右) を示します)。When you select one of the arrow links, you are given a differential view of the heap (a red up arrow Memory Usage Increase shows an increasing object count (left) or an increasing heap size (right)). 右のリンクをクリックすると、差異ヒープ ビューが表示されます。ヒープ サイズが多い順でオブジェクトが表示されます。If you click the right link, you get a differential heap view ordered by objects that increased the most in heap size. メモリ問題の厳密な場所の発見に役立ちます。This can help you pinpoint memory problems. たとえば、次の図では、ClassHandlersStore オブジェクトで使用されているバイトが 2 枚目のスナップショットで 3,492 バイト増えています。For example, in the illustration below, the bytes used by ClassHandlersStore objects increased by 3,492 bytes in the second snapshot.

[診断ツール] のヒープの相違ビューDiagnostic Tools heap diff view

[メモリ使用量] ビューで代わりに左のリンクをクリックすると、ヒープ ビューがオブジェクト数で整理されます。最も増えたオブジェクトが一番上に表示されます ( [数の相違] 列で並べ替えられます)。If you click the link on the left instead in the Memory Usage view, the heap view is organized by object count; the objects of a particular type that increased the most in number are shown at the top (sorted by Count Diff column).

リソース消費量を分析する (XAML)Analyze resource consumption (XAML)

Windows デスクトップ WPF アプリや UWP アプリなど、XAML アプリでは、アプリケーション タイムライン ツールを利用してリソース消費を分析できます。In XAML apps, such as Windows desktop WPF apps and UWP apps, you can analyze resource consumption using the Application Timeline tool. たとえば、アプリケーションが UI フレームの準備 (レイアウトとレンダリング) やネットワークとディスクの要求の処理を実行することで、およびアプリケーションの起動、ページの読み込み、ウィンドウのサイズ変更などのシナリオにおいて使用した時間を分析することができます。For example, you can analyze the time spent by your application preparing UI frames (layout and render), servicing network and disk requests, and in scenarios like application startup, page load, and Window resize. ツールを使用するには、パフォーマンス プロファイラーで [アプリケーションのタイムライン] を選択し、 [開始] を選択します。To use the tool, choose Application Timeline in the Performance Profiler, and then choose Start. アプリで、リソース消費問題が疑われるシナリオを進め、 [コレクションの停止] を選択してレポートを生成します。In your app, go through the scenario with a suspected resource consumption issue, and then choose Stop collection to generate the report.

ビジュアル スループット でグラフのフレームレートが低い場合は、アプリの実行時に観察されるビジュアルの問題に関連している可能性があります。Low framerates in the Visual throughput graph may correspond to visual problems that you see when running your app. 同様に、 UI スレッド使用状況 グラフの数値が高いと、UI の応答性問題に関連している可能性があります。Similarly, high numbers in the UI thread utilization graph may also correspond to UI responsiveness issues. レポートでは、パフォーマンス問題が疑われる期間を選択し、タイムライン詳細ビュー (下のウィンドウ) で UI スレッド アクティビティを詳しく調査できます。In the report, you can select a time period with a suspected performance issue, and then examine the detailed UI thread activities in the Timeline details view (lower pane).

アプリケーション タイムライン プロファイリング ツールApplication Timeline profiling tool

タイムライン詳細ビューでは、アクティビティの種類 (あるいは、関連している UI 要素) などの情報とアクティビティの継続時間を確認できます。In the Timeline details view, you can find information such as the type of activity (or the UI element involved) along with the duration of the activity. たとえば、この図では、グリッド コントロールの レイアウト イベントに 57.53 ミリ秒かかっています。For example, in the illustration, a Layout event for a Grid control takes 57.53 ms.

詳細については、アプリケーションのタイムラインに関するページを参照してください。For more information, see Application Timeline.

アプリケーション イベントを確認するExamine application events

汎用イベント ビューアーを使用すると、モジュールの読み込み、スレッドの開始、システム構成などのイベントの一覧を通じてアプリケーションのアクティビティを表示できます。これにより、Visual Studio プロファイラー内でのアプリケーションのパフォーマンスをより適切に診断できます。The generic events viewer allows you to view the activity of your application through a list of events, such as module load, thread start, and system configurations, to help better diagnose how your application is performing right within the Visual Studio profiler. このツールは、パフォーマンス プロファイラー内で使用できます。This tool is available in the Performance Profiler. [デバッグ] > [パフォーマンス プロファイラー] を選択して (または Alt + F2 キーを押して)、パフォーマンス プロファイラーを開きます。Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

このツールでは、各イベントがリスト ビューに表示されます。The tool shows each event in a list view. 列には、イベント名、タイムスタンプ、プロセス ID など、各イベントに関する情報が表示されます。Columns provide information about each event, such as the event name, timestamp, and process ID.

イベント ビューアー トレースEvent Viewer Trace

非同期コードを分析する (.NET)Analyze asynchronous code (.NET)

.NET Async ツールを使用すると、アプリケーション内の非同期コードのパフォーマンスを分析できます。The .NET Async Tool allows you to analyze the performance of asynchronous code in your application. このツールは、パフォーマンス プロファイラー内で使用できます。This tool is available in the Performance Profiler. [デバッグ] > [パフォーマンス プロファイラー] を選択して (または Alt + F2 キーを押して)、パフォーマンス プロファイラーを開きます。Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

このツールでは、各非同期操作がリスト ビューに表示されます。The tool shows each async operation in a list view. 非同期操作の開始時刻、終了時刻、合計時間などの情報を確認できます。You can see information such as the start time, end time, and total time for an async operation.

.NET Async ツールが停止.NET Async Tool Stopped

データベース パフォーマンスを分析する (.NET Core)Analyze database performance (.NET Core)

ADO.NET または Entity Framework Core を使用する .NET Core アプリの場合、データベース ツールを使用すると、診断セッション中にアプリケーションが行うデータベース クエリを記録できます。For .NET Core apps that use ADO.NET or Entity Framework Core, the Database Tool allows you to record the database queries that your application makes during a diagnostic session. その後、個々のクエリに関する情報を分析して、アプリのパフォーマンスを向上させられる場所を見つけることができます。You can then analyze information about individual queries in order to find places where your app's performance can be improved. このツールは、パフォーマンス プロファイラー内で使用できます。This tool is available in the Performance Profiler. [デバッグ] > [パフォーマンス プロファイラー] を選択して (または Alt + F2 キーを押して)、パフォーマンス プロファイラーを開きます。Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2 ).

このツールでは、各クエリがリスト ビューに表示されます。The tool shows each query in a list view. クエリの開始時刻や期間などの情報を確認できます。You can see information such as the query start time and duration.

AllocationAllocation

UI のパフォーマンスとアクセシビリティのイベントを調べる (UWP)Examine UI performance and accessibility events (UWP)

UWP アプリの [診断ツール] ウィンドウで、 [UI 分析] を有効にすることができます。In your UWP apps, you can enable UI Analysis in the Diagnostic Tools window. このツールはパフォーマンスとアクセシビリティに関する一般問題を探し出し、デバッグ中に [イベント] ビューに表示します。The tool searches for common performance or accessibility issues and displays them in the Events view while you are debugging. イベントの説明に、問題解決に役に立つ情報があります。The event descriptions provide information that can help resolve issues.

[診断ツール] で UI 分析イベントを表示するView UI analysis events in the diagnostic tools

GPU の使用状況を分析する (Direct3D)Analyze GPU Usage (Direct3D)

Direct3D アプリ (Direct3D コンポーネントは C++ である必要があります) では、GPU 上のアクティビティを調査し、パフォーマンス問題を分析できます。In Direct3D apps (Direct3D components must be in C++), you can examine activity on the GPU and analyze performance issues. 詳細については、「GPU 使用率」を参照してください。For more information, see GPU Usage. ツールを使用するには、パフォーマンス プロファイラーで [GPU 使用量] を選択し、 [開始] を選択します。To use the tool, choose GPU Usage in the Performance Profiler, and then choose Start. アプリで、プロファイリングしたいシナリオを実行し、 [コレクションの停止] を選択してレポートを生成します。In your app, go through the scenario that you're interested in profiling, and then choose Stop collection to generate a report.

グラフで期間を選択し、 [詳細の表示] を選択すると、下のウィンドウに詳細ビューが表示されます。When you select a time period in the graphs and choose view details , a detailed view appears in the lower pane. 詳細ビューで、CPU と GPU でそれぞれ、どの程度のアクティビティが行われているのか調査できます。In the detailed view, you can examine how much activity is happening on each CPU and GPU. 一番下のウィンドウでイベントを選択すると、タイムラインにポップアップ表示されます。Select events in the lowest pane to get popups in the timeline. たとえば、 Present イベントを選択すると、 Present 呼び出しポップアップが表示されます。For example, select the Present event to view Present call popups. (薄い灰色の垂直同期線を参照すると、特定の Present の呼び出しで垂直同期に失敗しているかどうかを理解できます。(The light gray vertical VSync lines can be used as a reference to understand whether certain Present calls missed VSync. アプリが安定的に 60 FPS をヒットするには、すべての 2 つの垂直同期の間に Present の呼び出しが 1 つ存在する必要があります。)There must be one Present call between every two VSyncs in order for the app to steadily hit 60 FPS.)

GPU 使用率プロファイリング ツールGPU Usage profiling tool

また、グラフを利用し、CPU バインドまたは GPU バインドのパフォーマンス問題があるかどうかを判断できます。You can also use the graphs to determine whether there are CPU bound or GPU bound performance bottlenecks.

パフォーマンスを分析する (JavaScript UWP)Analyze performance (JavaScript UWP)

UWP アプリの場合、JavaScript メモリ ツールと HTML UI 応答性ツールを利用できます。For UWP apps, you can use the JavaScript Memory tool and the HTML UI Responsiveness tool.

JavaScript メモリ ツールは、その他の種類のアプリで使用できるメモリ使用量ツールに似ています。The JavaScript Memory tool is similar to the Memory Usage tool available for other app types. このツールを利用してメモリ使用量を理解し、アプリのメモリ リークを発見できます。You can use this tool to understand memory usage and find memory leaks in your app. このツールの詳細については、「JavaScript メモリ」を参照してください。For more details about the tool, see JavaScript Memory.

JavaScript メモリ プロファイリング ツールJavaScript Memory profiling tool

UI の応答性、長い読み込み時間、UWP アプリの遅い表示更新を診断するには、HTML UI 応答性ツールを使用します。To diagnose UI responsiveness, slow loading time, and slow visual updates in UWP apps, use the HTML UI Responsiveness tool. 使用方法は、他の種類のアプリのアプリケーションのタイムライン ツールに似ています。Usage is similar to the Application Timeline tool for other app types. 詳細については、「HTML UI の応答性」を参照してください。For more information, see HTML UI responsiveness.

HTML UI の応答性プロファイリング ツールHTML UI Responsiveness profiling tool

ネットワーク使用量を分析する (UWP)Analyze network usage (UWP)

UWP アプリでは、実行されたネットワーク操作を、Windows.Web.Http API を使用して分析できます。In UWP apps, you can analyze network operations performed using the Windows.Web.Http API. このツールを使用すると、アクセスや認証の問題、不適切なキャッシュの使用、表示やダウンロードの低パフォーマンスなどの問題を解決するのに役立ちます。This tool may help you to resolve issues like access and authentication problems, incorrect cache-use, and poor display and download performance. ツールを使用するには、パフォーマンス プロファイラーで [ネットワーク] を選択し、 [開始] を選択します。To use the tool, choose Network in the Performance Profiler, and then choose Start. アプリで、Windows.Web.Http を使用するシナリオを実行し、 [コレクションの停止] を選択してレポートを生成します。In your app, go through the scenario that uses Windows.Web.Http, and then choose Stop collection to generate the report.

ネットワーク使用率プロファイリング ツールNetwork Usage profiling tool

概要ビューで操作を選択すると、詳細が表示されます。Select an operation in the summary view to view more details.

ネットワーク使用率ツールの詳細情報Detailed information in the Network Usage tool

詳細については、「ネットワーク使用率」を参照してください。For more information, see Network Usage.

パフォーマンスを分析する (レガシ ツール)Analyze performance (legacy tools)

CPU 使用量ツールやメモリ使用量ツールに現在入っていないインストルメンテーションのような機能が必要なとき、デスクトップまたは ASP.NET アプリを実行している場合、プロファイリングにパフォーマンス エクスプローラーを利用できます。If you need features such as instrumentation that are not currently present in CPU Usage or Memory Usage tools, and you are running desktop or ASP.NET apps, you can use the Performance Explorer for profiling. (UWP アプリではサポートされていません。)(Not supported in UWP apps). 詳細については、「パフォーマンス エクスプローラー」を参照してください。For more info, see Performance Explorer.

Visual Studio 2019 では、従来のパフォーマンス エクスプローラー、およびパフォーマンス ウィザードなどの関連するプロファイリング ツールは、パフォーマンス プロファイラーに組み込まれています。これは [デバッグ] > [パフォーマンス プロファイラー] を使用して開くことができます。In Visual Studio 2019, the legacy Performance Explorer and related profiling tools such as the Performance Wizard were folded into the Performance Profiler, which you can open using Debug > Performance Profiler. パフォーマンス プロファイラーでは、使用可能な診断ツールは、選択したターゲットと現在の開いているスタートアップ プロジェクトによって異なります。In the Performance Profiler, the available diagnostics tools depend on the target chosen and the current, open startup project. CPU 使用率ツールでは、パフォーマンス ウィザードで以前サポートされていたサンプリング機能が提供されます。The CPU Usage tool provides the sampling capability previously supported in the Performance Wizard. インストルメンテーション ツールでは、パフォーマンス ウィザードにあったインストルメント化されたプロファイリング機能 (正確な呼び出し数と期間) が提供されます。The Instrumentation tool provides the instrumented profiling capability (for precise call counts and durations) that was in the Performance Wizard. パフォーマンス プロファイラーには、追加のメモリ ツールも表示されます。Additional memory tools also appear in the Performance Profiler.

パフォーマンス エクスプローラー ツールPerformance Explorer tool

使用するツールWhich tool should I use?

次の表では、Visual Studio のさまざまなツールとそれらを使用できる各種プロジェクトをまとめています。Here is a table that lists the different tools Visual Studio offers and the different project types you can use them with:

パフォーマンス ツールPerformance Tool Windows デスクトップWindows desktop UWPUWP ASP.NET/ASP.NET CoreASP.NET/ASP.NET Core
パフォーマンスのヒントPerfTips はいyes yes yes
CPU 使用率CPU Usage はいyes yes yes
メモリ使用量Memory Usage yes yes yes
.NET オブジェクトの割り当て.NET Object Allocation はい (.NET のみ)yes (.NET only) yes はいyes
GPU 使用率GPU Usage はいyes はいyes nono
アプリケーションのタイムラインApplication Timeline 可 (XAML)yes (XAML) yes nono
イベント ビューアーEvents viewer yes yes yes
.NET Async.NET Async はい (.NET のみ)yes (.NET only) yes yes
データベースDatabase 可 (.NET Core のみ)yes (.NET Core only) no 可 (ASP.NET Core のみ)yes (ASP.NET Core only)
パフォーマンス エクスプローラーPerformance Explorer no nono no
IntelliTraceIntelliTrace Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only
パフォーマンス ツールPerformance Tool Windows デスクトップWindows desktop UWPUWP ASP.NET/ASP.NET CoreASP.NET/ASP.NET Core
CPU 使用率CPU Usage はいyes はいyes yes
メモリ使用量Memory Usage はいyes はいyes はいyes
GPU 使用率GPU Usage はいyes はいyes nono
アプリケーションのタイムラインApplication Timeline 可 (XAML)yes (XAML) yes nono
パフォーマンスのヒントPerfTips yes XAML の場合は可、HTML の場合は不可yes for XAML, no for HTML yes
パフォーマンス エクスプローラーPerformance Explorer はいyes nono yes
IntelliTraceIntelliTrace Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only Visual Studio Enterprise を使用した .NET のみ.NET with Visual Studio Enterprise only
ネットワーク使用率Network Usage nono はいyes nono
HTML UI responsivenessHTML UI responsiveness no HTML の場合は可、XAML の場合は不可yes for HTML, no for XAML no
JavaScript メモリJavaScript Memory no HTML の場合は可、XAML の場合は不可yes for HTML, no for XAML no

関連項目See also