読者です 読者をやめる 読者になる 読者になる

Perforator による Desktop Window Manager (DWM) のプロファイリング (1)

DirectX Vista

さて,Perforator がモニタリングできるのは,WPF アプリケーションや WPF のランタイムがホスティングされたプロセスだけでなく,実は Desktop Window Manager (DWM) についてもモニタリングすることができます.DWM は WPF の下位レイヤーである MIL (milcore.dll) を使用していることから,Perforator が使用するデバッグ機能は実際には MIL のデバッグ機能であることが予想されます.
通常,Perforator のためにレジストリにキーを追加した段階では,DWM の実体である dwm.exe が既に起動してしまっているので,Perforator のモニタ対象に表示されないことに注意してください.
荒っぽい手段で良ければ,タスクマネージャから dwm.exe を強制終了させると,自動的に dwm.exe が再起動されますが,通常は一旦ログオフしてログオンすれば十分です*1
以下の画像は,実際に DWM を Perforator で見てみたものです.例えばフレームレート 60 FPSになっているのが分かります.

Show dirty-region update overlay オプションをチェックしてみて,実際に画面のどの部分が更新されているか見てみるのも面白いでしょう.

*1:テーマを一旦クラシックに変更することでも再起動できるかもしれません