Take the 2-minute tour ×

As far as I know WPF applications should work faster than Windows Forms applications because WPF applications use DirectX for rendering instead of GDI. But what kind of application will start faster: WPF or Windows Forms? Will the start time be roughly the same or will one type of application be considerably faster than the other?

I am not targeting any specific operating system.

share|improve this question
Are you targeting any specific operating systems? –  Rowland Shaw Nov 28 '11 at 8:51
No, I am just curious to know how the starting performance differs between the different types and why. –  Bogdan Verbenets Nov 28 '11 at 8:53

3 Answers 3

Just to point out, in my experience the WPF renderer is in fact quite a bit slower than Windows Forms, despite using DirectX. This is because lots of tesselation and layout calculations are done on the CPU side, which effectively cancels out the performance gain of using the GPU.

Just google around for "WPF Slow" or "WPF Performance" and you'll find horrified developers shocked to learn their time and effort spent converting WinForms to WPF because of spin about GPUs has been wasted, as the result is slower than the original application.

However ... I will say this. WPF is far superior to WindowsForms in terms of styling, graphical capabilities, developer productivity (databinding), animation, look and feel etc. If performance really is an issue, on certain areas you can optimise. For instance, did you know that you can get an API to write directly to bitmap in WPF (see the WriteableBitmap class) to do GDI-like operations in memory? This is (surprisingly) about 20x faster than the WPF primitives for some operations.

Similarly you can use virtualization to improve the performance of datagrids etc. Telerik have an example of their grid scrolling 1,000,000 rows at interactive framerates.

In conclusion, have a think about what you are doing and see similar examples on the web. Are you doing real-time scientific dataacquisition and visualization or just a standard line of business app? Comparing similar examples to see what the framework is capable of will help you in your decision.

Update 2013 Q3

As an update, in various projects I'm now seeing faster and faster performance from WPF by moving anything and everything off the UI thread. E.g. leave the UI thread just for UI, do as much work as possible using Task Parallel Library or RX. Make everything async and don't block the UI thread while waiting.

Eliminate binding errors as these contribute to WPF performance problems.

You can move animations (e.g. wait or loading animations) onto a different thread for glitch-free animation. You can use render-to-bitmap when doing animated transitions.

The long story short? It is possible to get great performance from WPF applications (as well as slick UI) but you need to put in a bit more work!

share|improve this answer

I think the start time will be about the same.. I have created a few WPF applications recently and in some cases I think the initial loadtime is a bit slower than win forms, but it is not much and WPF more than makes up for it when the application is up and running

share|improve this answer

From my experience, I think WPF is quite reactive at start compared to winforms. However, the question is tough, especially considering that WPF can contain the other and vice versa.

I'd follow the philosophy of this article : http://joshsmithonwpf.wordpress.com/2007/09/05/wpf-vs-windows-forms/

WPF and Winforms are just not the same tool, and neither of them is supposed to substitute for the other ;)

The question has a lot of duplicates on this forum, please check here for a link and discussion and all of them : WPF vs. Windows Forms

share|improve this answer
You've never tried using WPF applications on Windows XP, by the sounds of it :) –  Rowland Shaw Nov 28 '11 at 8:56

Your Answer


