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

Long line with ligatures takes a long time to paint decorations #33525

Closed
isidorn opened this issue Aug 30, 2017 · 4 comments
Closed

Long line with ligatures takes a long time to paint decorations #33525

isidorn opened this issue Aug 30, 2017 · 4 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug perf verified Verification succeeded

Comments

@isidorn
Copy link
Contributor

isidorn commented Aug 30, 2017

screen shot 2017-08-30 at 17 26 16

Have ligitures turned on

"editor.fontLigatures": true,

saddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appenddata to appendde

@alexdima
Copy link
Member

This does not reproduce with our default font family, I think it is specific to using Fira Code, which @isidorn was using.

@alexdima alexdima added the perf label Aug 30, 2017
@alexdima alexdima added this to the Backlog milestone Aug 30, 2017
@alexdima alexdima added the bug Issue identified by VS Code Team member as probable bug label Nov 27, 2017
@alexdima
Copy link
Member

The slowness is caused by the rendering of the selection highlight:

image

Because of ligatures, we don't split the large token into multiple ones and then reading the offsets takes a very long time for Chromium. I will look into introducing artificial break points around spaces, since we cannot split in the middle of words (given we could break ligatures).

@alexdima alexdima modified the milestones: Backlog, September 2018 Sep 18, 2018
@alexdima
Copy link
Member

With the change to split large tokens, this is 10x faster, but still feels a bit sluggish. I think that is good enough.

@isidorn
Copy link
Contributor Author

isidorn commented Sep 25, 2018

Feels snapier -> verified

@isidorn isidorn added the verified Verification succeeded label Sep 25, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 2, 2018
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 perf verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

2 participants