MEF Performance Improvement #14027
Labels
Functionality:VisualStudioUI
Package Manager UI et al
Priority:3
Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog.
Product:VS.Client
Tenet:Performance
Performance issues
Type:DCR
Design Change Request
NuGet Product(s) Affected
Visual Studio Package Management UI
Current Behavior
Currently when opening the PM UI NuGet loads MEF objects which can cause a significant delay in displaying the window.
Desired Behavior
When users go to open the PM UI we should immediately open the window and give a loading indication while the view is initialized.
Additional Context
NuGetPackage creates the PackageManagerControl before the window is created, for example PackageManagerControl.CreateAsync is called and we wait until after it's completed to create the window.
InitializeAsync, which is called by CreateAsync, attempts to load 5 MEF components. Which can cause a significant delay if this is the first time we attempt to load MEF components in the VS session. There are additional async calls in the method which can delay how long the component takes to load. If those calls are made on the UI thread, VS will hang while it waits for the calls to complete.
NuGet/NuGet.Client#6190 (comment)
The text was updated successfully, but these errors were encountered: