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

Support virtualization in Code action list #196857

Closed
rebornix opened this issue Oct 27, 2023 · 4 comments
Closed

Support virtualization in Code action list #196857

rebornix opened this issue Oct 27, 2023 · 4 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug freeze-slow-crash-leak VS Code crashing, performance, freeze and memory leak issues insiders-released Patch has been released in VS Code Insiders verified Verification succeeded
Milestone

Comments

@rebornix
Copy link
Member

while working on a python/notebook file, language server suggests tons of code actions, which blocks the UI for ~5 seconds

image
@rebornix rebornix added the freeze-slow-crash-leak VS Code crashing, performance, freeze and memory leak issues label Oct 27, 2023
@rebornix
Copy link
Member Author

rebornix commented Oct 27, 2023

The UI freeze is caused by DOM reads

image

@justschen
Copy link
Contributor

related to microsoft/pylance-release#3873

mjbvz added a commit to mjbvz/vscode that referenced this issue Oct 30, 2023
Fixes microsoft#196857

This was forcing the entire list to render. Doesn't seem needed as we later compute the correct display height
@mjbvz
Copy link
Collaborator

mjbvz commented Oct 30, 2023

The list is already virtualized but this layout call forces the entire thing to render (before correctly shrinking it back down):

this._list.layout(heightWithHeaders);

The layout call is used to find the max width of the items in the list and then resize the widget to fit this. I'm not sure what the best way to do this for a list is, but at the very least we could probably make a single call to getBoundingClientRect on the container node instead of on each element

@justschen
Copy link
Contributor

justschen commented Nov 22, 2023

After change from above PR
Screenshot 2023-11-22 at 2 06 26 PM

Blocking time down from:
Screenshot 2023-11-22 at 2 05 31 PM

@justschen justschen added insiders-released Patch has been released in VS Code Insiders bug Issue identified by VS Code Team member as probable bug labels Nov 22, 2023
@andreamah andreamah added verified Verification succeeded and removed verified Verification succeeded labels Nov 30, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Jan 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug freeze-slow-crash-leak VS Code crashing, performance, freeze and memory leak issues insiders-released Patch has been released in VS Code Insiders verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

4 participants