Skip to content

Transition the default terminal renderer to use WebGL and polish setting #106202

@Tyriar

Description

@Tyriar

The plan is to remove the canvas renderer in favor of the basically better in every way webgl renderer, plus the plan for xterm.js is to remove the canvas renderer eventually. I think renaming the setting for this would also be a good idea, from:

terminal.integrated.rendererType: 'auto' | 'canvas' | 'dom' | 'experimentalWebgl'

To:

terminal.integrated.gpuAcceleration: 'auto' | 'on' | 'off'

This would help with discoverability of the feature and hides implementation details that don't matter for the end user like "dom" and "webgl".

Currently auto is the same as canvas and doesn't do anything in particular. For the new setting it should do something like this:

If there is an exception starting the webgl renderer:
  Use the dom renderer (cache choice)
Use the webgl renderer (cache choice)

When using the webgl renderer, fps is measured similar to the canvas renderer now and will drop down to the dom renderer (cache choice) if they are much lower than expected (indicating some chromium/gpu interaction issue).

Metadata

Metadata

Assignees

Labels

debtCode quality issuesinsiders-releasedPatch has been released in VS Code InsidersterminalGeneral terminal issues that don't fall under another label

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions