我有一个应用程序,它使用WPF画布来显示非常高分辨率的图像。我注意到,当同一张图像显示在我的本地计算机上时,没有问题,任务管理器上的应用程序内存约为5GB。但是当我使用远程桌面时,在任务管理器中显示相同图像的应用程序占用了大约8GB。
我读过关于WPF使用硬件加速(如果可用的话)的文章,但是在某些情况下切换到软件渲染。其中一个案例是在远程桌面上。http://blogs.msdn.com/b/jgoldb/archive/2010/06/22/software-rendering-usage-in-wpf.aspx
现在我的问题是,虽然我知道CPU正在为远程桌面的渲染做所有的计算,但是为什么硬件渲染和软件渲染有这么大的区别呢?任何帮助或洞察力都将得到真正的感谢。
发布于 2014-08-08 05:43:12
在软件渲染过程中,CPU和内存负责所有的渲染操作。因此,所有临时缓冲区都存储在主存储器中,而渲染操作由CPU计算,从而导致性能下降和内存使用量增加。
在硬件渲染过程中,所有这些都会由GPU和视频存储器来处理。
注意,在某些情况下,硬件呈现可能比软件呈现慢。请参考问题中发布的链接。
https://stackoverflow.com/questions/25117204
复制相似问题