より良いエンジニアを目指して

記事を頻繁に書き直す性格なのでごめんなさい。

Visual StudioのXDesProc.exeにPCが侵略される

XDesProcとは?

職場ではWPFの開発をしていたのですが、PC重いなー、とタスクマネージャーを開いてみました。

f:id:rimever:20190613185712p:plain

XDesProcって何?

と調べてみました。

www.moonmile.net

XDesProc.exeとはXAMLデザイナのことのようです。

実験

その挙動を観察すると、XAMLファイル1つにつき、1つのXProc.exeが起動していくようです。

f:id:rimever:20190613185614p:plain

とある疑問が浮かびます。

だったら、XAMLファイルをたくさん開いたら、大量のXProc.exeが起動するのか?

と思って実験してみました。

  • Visual Studio 2019
  • 適当なブランクXAMLファイルを生成
  • 手当たり次第開いてみる

と、5つほど開きましたが、3つのXProc.exeが起動しかされていません。

という結論だったのですが、

職場ではもっと困った挙動だった記憶があります。

もしかしたら、プロジェクト1つにつきXProc.exeなのでは?

と、今度はただブランクのXAMLファイルではなく、ブランクのWPFプロジェクトを増やしまくってみました。

f:id:rimever:20190613192539p:plain

それっぽいですね。

  • XAMLファイルを開くと、XAMLデザイナのためにプロジェクトごとのXDesProc.exeが起動する
  • 一度、起動したXDesProcはXAMLデザイナを閉じても終了することはなく、Visual Studioを閉じるまでは動いている。

こちらが取るべく行動としては、

  • 不必要なXAMLデザイナを開かない

だと思います。

起動直後、非アクティブなXAMLデザイナについてはXDesProc.exeが起動しなさそうです。

が、複数ファイルを開いたまま状態でVisual Studioを閉じてしまうと、迂闊にXAMLファイルを開いてしまうリスクが高くなるのでなるべくファイルを閉じるようにしてもいいかと。

Visual Studio 2019

Visual Studio 2019では、このXAMLデザイナについてアーキテクチャ変更があったようです。

docs.microsoft.com

目を通してみましたが難しい内容です。