-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
Test: Terminal WebGL Renderer #85971
Comments
This is so good, I'm switching to this for self hosting. |
@Tyriar Fantastic work here, really works great! 👏 Some perf numbers, running
When running with webgl:
2s down to 1.5s, that's very impressive. |
@joaomoreno good to hear! For these types of commands the webgl renderer ends up rendering more frames with less CPU time too 🙂, less rendering time = more parsing time. |
Color test script if others find it useful: const chalk = require('chalk');
const modifiers = ["reset", "bold", "dim", "italic", "underline", "inverse", "hidden", "strikethrough", "visible"];
const colors = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "blackBright", "redBright", "greenBright", "yellowBright", "blueBright", "magentaBright", "cyanBright", "whiteBright"];
const colWidth = 20;
for (const modifier of modifiers) {
process.stdout.write(chalk[modifier](modifier.padEnd(colWidth)));
}
process.stdout.write('\r\n');
for (const color of colors) {
for (const modifier of modifiers) {
process.stdout.write(chalk[modifier][color](color.padEnd(colWidth)));
}
process.stdout.write('\r\n');
} And naughty strings: https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.txt |
Incredible performance ⚡️ I tried to cat a relative large log file (300MB, 2M lines) WebGL
Canvas
DOM after waiting for 10 minutes, it didn't finish but stopped printing ... |
Refs: #84949
Complexity: 5
A new WebGL renderer is available for the terminal which is significantly faster than both the canvas and dom renderers. To enable it:
This is a rewrite of all the rendering code which includes basically everything inside the terminal panel. You can read about some of the improvements made in the PR, but basically:
Do some exploratory testing of the terminal, here are some ideas of where to start:
tree
,ls -lR
,yes
)Here's a list of known issues (there aren't many):
The text was updated successfully, but these errors were encountered: