为什么软件渲染在WPF中使用更多内存?

本文关键字:内存 软件 WPF 为什么 | 更新日期: 2023-09-27 18:16:11

我有一个应用程序,它使用WPF画布显示非常高分辨率的图像。我注意到,当同样的图像在我的本地计算机上显示时,没有问题,任务管理器上的应用程序内存约为5GB。但是当我使用远程桌面时,同样的应用程序,显示同样的图像占用了任务管理器大约8GB的空间。

我读到WPF在可用的情况下使用硬件加速,但在某些情况下切换到软件渲染。其中一种情况是通过远程桌面。http://blogs.msdn.com/b/jgoldb/archive/2010/06/22/software-rendering-usage-in-wpf.aspx

现在我的问题是,虽然我知道CPU现在正在做远程桌面渲染的所有计算,但为什么硬件渲染和软件渲染之间存在如此巨大的差异?

为什么软件渲染在WPF中使用更多内存?

在软件渲染过程中,CPU和主存负责所有的渲染操作。因此,所有的临时缓冲区都保存在主存中,渲染操作由CPU计算,这导致性能下降和内存使用增加。

在硬件渲染期间,所有这些都将由GPU和显存负责。

请注意,在某些情况下,硬件渲染可能比软件渲染慢。参考问题中的链接