Skip to content

[Spec] UI Delay during ISettings initialization

Kartheek Penagamuri edited this page Nov 19, 2019 · 7 revisions

UI Delay during ISettings initialization

Issue

8675 - UI delay while initializing NuGet.Configuration.ISettings type

Problem Background

VS IDE customers are experiencing UI Delays since NuGet tries to initialize NuGet.Configuration.ISettings (Lazy type) in the constructor of VsPackageSourceProvider type on the main UI thread.

Andrew Arnott mentioned following important points in an offline conversation.

  • MEF parts are not supposed to have any thread affinity, so moving the realization of exports to a background thread can move all the disk I/O from assembly loads, JIT time, and other non-UI code to a background thread and could dramatically reduce the UI delay.
  • Moving the heavyweight code that’s in the MEF activation path out of that path and into other methods that can be made asynchronous.

Who are the customers

All VS IDE customers

Solution

Short-Term solution

Long-Term solution

Current references

Implementation

Contributing

What's Being Worked On?

Check out the proposals in the accepted & proposed folders on the repository, and active PRs for proposals being discussed today.

Common Problems

Clone this wiki locally