Skip to content

WebGL ​

webgl draws with WebGL instead of the DOM, which is faster on a busy screen. The prop asks for a context; the page decides whether the terminal gets one.

The budget ​

Browsers cap the WebGL contexts of a page, and a page that asks for too many loses the oldest. So at most ten terminals hold one at a time: the focused one first, then the most recently written. The others draw with the DOM and look the same.

A terminal that loses its context asks again on its next focus(). webglTerminals() lists the terminals that hold one, highest ranked first, for a debug panel or a test.

Loading the addon early ​

The WebGL addon loads on the first grant, so the first terminal draws with the DOM for a moment. To load it earlier, register its import with the prefetcher of @adecore/ui:

ts
prefetcher.register(() => import('@xterm/addon-webgl'));

Licenses and third-party notices are listed in each package.