Share via


WPFアプリの最適化 Perforator

WPFでは可能な範囲でGPUを活用(ハードウェア レンダリング)しますが、BitmapEffectのように必ずCPUで処理(ソフトウェア レンダリング)されるコンポーネントもあります。また、表示されないくても中間レンダリング(IRT)がCPUで行われていることもあります。最適化するにはソフトウェア レンダリングを最小にすることが重要です。

Windows SDKに含まれている最適化ツールの一つであるPerfotatorを使うと、自分のアプリケーションのレンダリングがどのように行われているのか、フレームレートはいくつかなどを確認でき、ソフトウェア レンダリング部分を紫色にしたり、3D描画をオフにするとパフォーマンスが向上するかなどを試すことができます。

PerforatorはプロファイルしたいWPFアプリケーションを起動してから、C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\WpfPerf.exeを起動し、Microsoft.WpfPerformance.Perforatorを選択します。すると左側にそのWPFアプリの名前が表示されるので、それを選択します。アプリの名前が現れないときは[Refresh]ボタンを押して最新の情報に更新してみてください。

表示されるデータとオプションの説明を次に示します。

データ

説明

Frame Rate

フレームレート、毎秒の描画回数 回/秒

Dirty Rect Addition Rate

部分レンダリングの数

Software Render Targets

すべてがソフトウェアでレンダリングされているウィンドウの数

Hardware Render Targets

すべてがハードウェアでレンダリングされているウィンドウの数

Maximum SW IRTs per Frame

1フレームあたりの、ソフトウェアによる中関レンダーターゲット(IRT: Intermediate Render Target)の最大数

Maximum HW IRTs per Frame

1フレームあたりの、ハードウェアによる中関レンダーターゲット(IRT: Intermediate Render Target)の最大数

Estimated Video Memory Usage (MB)

ビデオメモリーの使用量(予測)

オプション

説明

Draw software rendering with purple tint

ソフトウェアでレンダリングされている部分を紫色で描画する

Clear back-buffer before updating

描画処理の前にウィンドウを黒で初期化する

Show dirty region update overlay

部分的に再描画されている部分をオーバーレイで表示

Disable dirty region support

部分的な再描画を無効にする

Disable Opacity effects

半透明効果を無効にする

Disable per-primitive software fallback

プリミティブ単位のソフトウェアによる代替描画を無効にする

Disable high-quality image rescaling

高解像度画像の再スケールを無効にする

Disable 3D rendering

3Dレンダリングを無効にする

Enable Debug Control

デバッグ制御を有効にする