Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MEF Performance Improvement #14027

Open
jgonz120 opened this issue Jan 3, 2025 · 0 comments
Open

MEF Performance Improvement #14027

jgonz120 opened this issue Jan 3, 2025 · 0 comments
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

Comments

@jgonz120
Copy link
Contributor

jgonz120 commented Jan 3, 2025

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)

@jeffkl jeffkl added Tenet:Performance Performance issues Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. and removed Triage:NeedsTriageDiscussion labels Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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
Projects
None yet
Development

No branches or pull requests

2 participants