Reputation: 449
I have an application which uses a WPF canvas to display very high resolution images. I noticed that when the same image was being displayed on my local computer, there was no problem and the application's memory was about 5GB on the task manager. But when I used remote desktop, the same application, displaying the same image was occupying around 8GB in the Task Manager.
I read about WPF using Hardware acceleration if available, but switching to Software Rendering in certain cases. One of the cases being over Remote Desktop. http://blogs.msdn.com/b/jgoldb/archive/2010/06/22/software-rendering-usage-in-wpf.aspx
Now my question is, although I understand that the CPU is now doing all the calculations for rendering in remote desktop, why is there such a huge difference between hardware rendering and software rendering? Any help or insight would be truly appreciated.
Upvotes: 1
Views: 1021
Reputation: 449
During Software Rendering, the CPU and main memory are responsible for all the rendering operations. So all the temporary buffers are held in the main memory and the rendering operations are caluculated by the CPU which results in a decrease in performance and an increase in memory usage.
During hardware rendering all this would have been taken care by the GPU and video memory.
Note that in some cases, hardware rendering may be slower than software rendering. Refer to the link posted in the question.
Upvotes: 1