Microsoft continues to describe the improvements it is undertaking to improve Visual Studio 2012. Larry Sullivan presented new information from Duke Kamstra and Chuck England of the Visual Studio programming team regarding the VS Toolbox and how they lessened its burden on the main UI rendering thread.
The discussion begins with a review of the performance traces the team obtains from the PerfWatson utility. It was shown that the Toolbox on large projects could block the “Visual Studio UI by 30 seconds” when a solution was closed. In addition the Toolbox's performance was also found to be impacted by designers such as the Windows Forms designer and the WPF designer.
This impact is due to how the Toolbox is rendered. The list of components displayed by the Toolbox is composed from the components considered part of the base install provided by Microsoft and (if present) 3rd party vendors. The other group of user components are those defined by the user in a given user project.
While the first group of components does not involve much change, the second group requires Visual Studio to search through the solution being loaded for all of the components that should be displayed. The performance traces indicated that the "discovery of user controls is proportionately expensive to the size and complexity of your solution."
The following operational areas are reviewed for performance improvements:
- Loading a solution
- Opening a designer
- Changing the build configuration (Debug/Release)
- Building a solution
- Closing a solution