Windows Presentation Foundation (WPF) applications tend to be slower on lower end machines or on machines without graphic acceleration devices. They seem to eat up resources and make the application unstable. However, note that the performance of a WPF application depends on the hardware you have. So, higher end machines obviously have a greater edge when it comes to WPF applications.
But, before we delve into the optimization techniques, it is sensible to agree that design and planning a product in its best terms can help us remove the bottlenecks in its performance. Another notable point is that the performance improvement is not a one-step process. It should be an indulging and iterative part of the development process. Good design of a WPF application can remove the irrelevant aspects that hinder the performance. For example, construction of objects at run time deteriorate the application's performance.
Although WPF offers a rich User Interface with impressive navigation and much more, you should consider this only if your user base requires a rich graphics interface. Nevertheless, WPF applications offer their flexibility when it comes to UI with their customizable styles, and control templates.
Figure 1 (Image Source: Wikipedia)
The primary factor in rendering a WPF application is behind the number of pixels in it. The hardware rendering pipeline of WPF uses Microsoft's DirectX features on the hardware that the application is run. So if you have a dedicated GPU on the machine, the performance is immensely better.