Skip to content

improve decoration rendering efficiency #145751

Closed

Description

@Tyriar

Testing #145629

Could repro this slowness by filling the buffer and then searching for a single letter, this is on a 12th gen i7 (fast modern CPU):

image

A similar thing happens when pressing enter in this state since we don't do any diffing, just clear and re-render.

Ideas to explore:

  • Move from rendering each decoration to calculating colored zones which merge similar rectangles into the same zone and render them
  • If the buffer is full, explore shifting the texture up depending on how much scrolling occurs (might be tricky to get right)

Activity

  1. added
    bugIssue identified by VS Code Team member as probable bug
    upstreamIssue identified as 'upstream' component related (exists outside of VS Code)
    terminal-findRelating the terminal's find widget
    terminal-shell-integrationShell integration infrastructure, command decorations, etc.
    on Mar 22, 2022
  2. added this to the Backlog milestone on Mar 22, 2022
  3. Tyriar commented on Mar 22, 2022

    @Tyriar
    ContributorAuthor

    xterm.js issue: xtermjs/xterm.js#3703

  4. Tyriar commented on Apr 1, 2022

    @Tyriar
    ContributorAuthor

    After update no more overlap problems:

    image

  5. added
    unreleasedPatch has not yet been released in VS Code Insiders
    and removed
    unreleasedPatch has not yet been released in VS Code Insiders
    on Apr 1, 2022
  6. 15 remaining items

  7. changed the title [-]Optimize rendering of decorations in terminal overview ruler[/-] [+]refreshDecorations is slow[/+] on May 5, 2022
  8. changed the title [-]refreshDecorations is slow[/-] [+]improve decoration rendering efficiency[/+] on May 9, 2022
  9. added a commit that references this issue on May 13, 2022
    99e15df
  10. added
    unreleasedPatch has not yet been released in VS Code Insiders
    insiders-releasedPatch has been released in VS Code Insiders
    and removed
    unreleasedPatch has not yet been released in VS Code Insiders
    on May 13, 2022
  11. locked and limited conversation to collaborators on Jun 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugIssue identified by VS Code Team member as probable buginsiders-releasedPatch has been released in VS Code Insidersperfterminal-findRelating the terminal's find widgetterminal-shell-integrationShell integration infrastructure, command decorations, etc.upstreamIssue identified as 'upstream' component related (exists outside of VS Code)upstream-issue-fixedThe underlying upstream issue has been fixedupstream-issue-linkedThis is an upstream issue that has been reported upstreamverifiedVerification succeeded

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions