0

私は、あなたがどれだけ複雑なWPFアプリケーションを最小限に抑えたときにこれを観察したか知りません。また、WPFウィンドウを復元するときに、そのメモリを回復します。ビデオメモリ管理のマスターとしてのスクロールビューア

私の質問は、これは私たちがビデオメモリ呼んでいます。この

  1. のですか?
  2. WinFormsアプリでも同じことが観察されますか?私はMSWordが最小化したときにそのようなことをしないのを見たので、私はこれを求めています。
  3. また、Windows OSがこのメモリをうまく管理している場合、なぜ仮想化されたスタックパネルを作成するのではなく、すべてを仮想化しなかったのですか?スクロールビューアをUI仮想化のマスターにしないのはなぜですか?

私はこれについていくつか興味深い回答を得ることを願っています。

答えて

1

ビデオメモリはまったく異なるものです。テクスチャ、スクリーンイメージ、シェーダプログラムの入出力などを保存するためにグラフィックスカードで使用されます。グラフィックアクセラレーション、テクスチャ、シェーダ、およびオフスクリーンサーフェスを使用するため、WPFはより多くのビデオメモリを使用します。

WinFormsアプリケーションでは、GDIを使用してレンダリングするだけで、何かがデザインによってオフスクリーンで発生しない限り、ビデオメモリがはるかに少なくなります。

最後に専用ツールを使用せずにビデオメモリを測定することはできません。タスクマネージャのウィンドウの復元や最小化などの際に表示されるメモリは、ビデオメモリではなく「通常の」メモリです。実際には、極端にローエンドのシステムではビデオメモリ用のメインシステムメモリが使用されているかもしれませんが、WPFではウィンドウが最小化された場合に現在の状態を維持する必要はないため、オブジェクトが解放されます。

「Windows OSがこのメモリをうまく管理していれば、意味が分かりません」 - 仮想化はいくつかの点でうまくいくかもしれませんが、もちろんWPFでは数多くの欠点があります。なぜあなたはそれをどこにも使わないでしょう。

関連する問題