次の方法で共有


WPF のパフォーマンス ツールとリソース

更新 : 2007 年 11 月

WPF は、アプリケーションの実行時の動作を分析したり、適用可能なパフォーマンス最適化の種類を決定できるパフォーマンス プロファイリング ツール スイートを提供します。Windows SDK ツール (WPFPerf) に含まれる 5 つのパフォーマンス プロファイリング ツールを次の表に示します。

ツール

説明

イベント トレース

イベントの分析とイベント ログ ファイルの生成に使用します。

Perforator

レンダリング動作の分析に使用します。

トレース ビューア

WPF ユーザー インターフェイス形式で Event Tracing for Windows (ETW) ログ ファイルを記録、表示、および参照します。

ビジュアル プロファイラ

ビジュアル ツリーの要素による WPF サービス (レイアウトやイベント処理など) の使用状況に関するプロファイリングで使用します。

作業セット ビューア

アプリケーションの作業セット特性を分析するために使用します。

ビジュアル プロファイラ ツール スイートでは、パフォーマンス データを多彩なグラフィカル ビューで示します。このスクリーンショットでは、ビジュアル プロファイラの [CPU 使用率] セクションに、レンダリングやレイアウトなど、WPF サービスのオブジェクトの使用率の詳細が示されています。

ビジュアル プロファイラ表示出力
Visual Profiler 表示出力

詳細については、「WPF のパフォーマンス プロファイリング ツール」を参照してください。

XamlPad を使用したビジュアル ツリーの表示

XAMLPad を使用してビジュアル ツリー階層を分析すると、コントロール テンプレート拡張のしくみがわかります。この知識は、作成するユーザー インターフェイス設計のパフォーマンスへの負荷とトレードオフを理解するうえで役に立ちます。

XamlPad は、現在定義されているXAML コンテンツに対応するビジュアル ツリーを表示および探索するためのオプションを提供します。ビジュアル ツリーを表示するには、メニュー バーの [Show Visual Tree] ボタンをクリックします。XamlPad の [Visual Tree Explorer] パネルのビジュアル ツリー ノードに展開された XAML コンテンツを次の図に示します。

XamlPad の Visual Tree Explorer パネル
XamlPad のビジュアル ツリー エクスプローラ パネル

XamlPad の [Visual Tree Explorer] パネルでは、LabelTextBox、および Button の各コントロールが別々のビジュアル オブジェクト階層を表示していることに注意してください。これは、WPF コントロールにそのコントロールのビジュアル ツリーを含む ControlTemplate があるためです。コントロールを明示的に参照すると、コントロールのビジュアル階層が暗黙的に参照されます。ビジュアル オブジェクトとビジュアル ツリーの詳細については、「Windows Presentation Foundation のグラフィックス レンダリングの概要」を参照してください。

[Visual Tree Explorer] の項目のプロパティ設定を表示するには、その項目を選択します。[Visual Tree Explorer] パネルの下の [Property Tree Explorer] パネルに、選択したビジュアル オブジェクトの現在のプロパティ設定が表示されます。

XamlPad の Property Tree Explorer パネル
プロパティ ツリー エクスプローラ

詳細については、「XAMLPad」を参照してください。

WPF のデバッグ トレース サポート

PresentationTraceSources クラスは、WPF アプリケーションを対象とするデバッグ トレースをサポートします。トレースは、アプリケーションの進行状況を追跡できる診断システムです。トレース ステートメントでは、よく WriteLine メソッドが使用されるのと同じような方法で情報が報告されます。ただし、トレース ステートメントでは、構成ファイルを使用してオン/オフを切り替えることができます。また、出力をカスタマイズすることもできます。

.NET Framework のその他の関連する診断クラスについては、System.Diagnostics を参照してください。

参照

概念

WPF アプリケーションのパフォーマンスの最適化

アプリケーション パフォーマンスの計画

パフォーマンスの最適化 : ハードウェアの活用

パフォーマンスの最適化 : レイアウトとデザイン

パフォーマンスの最適化 : 2D グラフィックスとイメージング

パフォーマンスの最適化 : オブジェクトの動作

パフォーマンスの最適化 : アプリケーション リソース

パフォーマンスの最適化 : テキスト

パフォーマンスの最適化 : データ バインディング

パフォーマンスの最適化 : その他の推奨事項