<Part 1 After treating and demonstrating why is it beneficial to turn to WPF, let’s see how extensions can target better performance. I’d be able to talk about performance topics so much that I could take over all the session slots left for today or even for tomorrow… Instead of treating each of them, I collected a bunch of tips that gives you ideas what you can do with performance issues or how you can avoid them. The key of providing a great performance can be described simply: Consume only the resources you really, really, really need. If possible, release unused resources and claim them when you need them again. This approach starts with loading your package only when that is required and not before. By default the VS shell loads packages on-demand when the first command, UI, service or other package owned objects are about to be used. However, you can change this behavior by either loading explicitly your package with the IVsShell.LoadPackage method, or adding the ProvideAutoLoad...