0

我不知道你們有多少人觀察到這一點,當我們最小化複雜的WPF應用程序時,我們可以觀察到已用內存的減少。同樣,當我們恢復WPF窗口時,它會重新獲得內存。作爲視頻內存管理的主人滾動查看器

我的問題是

  1. 這就是我們所說的顯存?
  2. 我們是否也在WinForms應用程序中觀察到同樣的情況?我問這是因爲當我最小化它時,我看到MSWord沒有做那樣的事情。
  3. 另外,如果windows操作系統管理的這麼好,那麼爲什麼我們沒有虛擬化所有的東西,而不是虛擬化堆棧面板,爲什麼我們不能讓滾動查看器成爲UI虛擬化的主人呢?

我希望我能得到一些有趣的答案。

回答

1

視頻內存是完全不同的東西。它被顯卡用來存儲紋理,屏幕圖像,着色器程序輸入/輸出等。

WPF使用更多的視頻內存,因爲它使用圖形加速,紋理,着色器和離屏表面。

WinForms應用程序不會 - 它們只使用GDI進行渲染,除非設計出現屏幕外出現的情況,否則使用的視頻內存將少得多。

最後,如果不使用專用工具,則無法測量視頻內存。在任務管理器中恢復/最小化窗口等時看到的任何內存都不是視頻內存,而是「常規」內存。實際上,您可能會在極端低端的系統中看到用於視頻內存的主要系統內存,但更有可能WPF在窗口最小化的情況下不需要保留最新的內容,因此會釋放一些對象。因此,我不明白你的意思,'如果Windows操作系統如此管理這個內存' - 虛擬化可能擅長某些事情,但當然有它的許多缺點,尤其是對於WPF,這是爲什麼你不會在任何地方使用它。