我不知道有多少人观察过这一点,当我们最小化复杂的WPF应用程序时,我们可以观察到已用内存的减少。此外,当我们恢复WPF窗口时,它会重新获得该内存。
我的问题是这个
我希望我能得到一些有趣的答案。
答案 0 :(得分:1)
视频内存完全不同。它由图形卡用于存储纹理,屏幕图像,着色器程序输入/输出等。
WPF使用更多的视频内存,因为它使用图形加速,纹理,着色器和屏幕外表面。
WinForms应用程序不会 - 它们只使用GDI进行渲染,因此除非在设计之外发生某些事情,否则将使用更少的视频内存。
最后,如果不使用专用工具,则无法测量视频内存。在任务管理器中恢复/最小化窗口等时看到的任何内存都不是视频内存,而是“常规”内存。实际上,您可能会在极低端系统中看到用于视频内存的主系统内存,但更有可能的是,WPF在窗口最小化的情况下不需要保持最新的内容,因此会释放一些对象。
因此,我不明白你的意思,'如果Windows操作系统能很好地管理这个内存' - 虚拟化在某些方面可能很擅长,但当然有很多缺点,特别是对于WPF,这就是为什么你不会在任何地方使用它。