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

WebGL renderer (using xterm.js fork) #3368

Merged
merged 8 commits into from
Dec 28, 2018
Merged

Conversation

juancampa
Copy link
Contributor

@juancampa juancampa commented Dec 26, 2018

This PR enables webGL rendering behind the webGLRenderer config flag. It uses our own fork of xterm.js which includes the webGL renderer by @Tyriar.

Although this renderer has a few limitations we are enabling it by default on the canary channel because we believe that the perf benefits outweight these limitations for most users. Additionally, we want to gather as much data as possible from the canary channel.

Tests

  • Canvas rendering still works
  • WebGL rendering works
  • Can hot-reload config

Benchmarks

Coming up...

@rauchg rauchg merged commit 7a40fd7 into vercel:canary Dec 28, 2018
wcchoi added a commit to wcchoi/swell.sh that referenced this pull request May 10, 2019
Learning from Hyper's 3.0.0 release [1,2], this commit also
switches to use WebGL2 renderer of xterm.js (it uses zeit's
fork of Tyriar's fork of xterm.js obtained from [3])

This results in significant speedup in Chrome. Particularly,
page load/changing font size used to take several seconds,
now with the new renderer it feels almost instantaneous!

The WebGL renderer is only enabled on browsers that support it,
i.e. Chrome

NOTE: changes in static/lib/xterm/ files in this commit are from
building [3]

[1]: https://github.com/zeit/hyper/releases/tag/3.0.0
[2]: vercel/hyper#3368
[3]: https://registry.npmjs.org/@zeit/xterm/-/xterm-3.12.0-1.tgz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants