-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Window contents not cleared properly #3617
Comments
Seems xterm.js/addons/xterm-addon-webgl/src/WebglRenderer.ts Lines 119 to 134 in 6c18b7f
Wild guess (because idk the cache/redraw-on-change logic behind) - the model clear in Indeed, can repro this "forgotten-onscreen-cells" issue with this line: echo -e '\x1b[?1049h\x1b]11;rgb:00/00/ff\x07\x1b[31m\x1b[1;15HH\x1b[BE\x1b[BL\x1b[BL\x1b[BO' With Edit: public setColors(colors: IColorSet): void {
...
this._refreshCharAtlas();
this._charAtlas?.clearTexture();
// Force a full refresh
this._model.clear();
} A different workaround prolly would be, to give the render model separate update/clear paths for changed colors or changed buffer content. Imho the mix of both currently triggers those edge cases. |
The explicit texture cleaning seems to work only the first time. From my example above, if you open |
Hmm, thats unfortunate. Maybe always aquiring a new atlas from |
Will that affect perf significantly? will check and try though. |
Can we get #3618 merged though? Will allow us to use 4.15 till this is fixed. |
Well that PR (OSC colors PR) does a nonsense call to |
@LabhanshAgrawal I'll be going through the PRs hopefully today, just need to get through a pretty big terminal link refactor in vscode |
Same thing happening with new atlas also |
Doesn't repro on Windows with wsl.exe as shell. |
Can repro as well on macOS, investigating |
Repro's in VS Code microsoft/vscode#142091 |
Something indeed is falling apart with caching, I can workaround the issue by forcing a glyph update by adding:
In this if statement: xterm.js/addons/xterm-addon-webgl/src/WebglRenderer.ts Lines 336 to 341 in b557ebe
But doing that would cause a big performance hit, looking into root cause. |
The PR is working great 👍 |
@Eugeny good to hear 🙂 |
@LabhanshAgrawal this fix is in xterm-addon-webgl@0.12.0-beta.24 |
@Tyriar Awesome, thanks for the fix. |
@LabhanshAgrawal oh sorry about that, you're right the change to src/browser/services/RenderService.ts is in core |
Sorry didn't mean to vent, just lamenting |
Details
Steps to reproduce
Run
ls -G && nvim
with webgl rendererWith WebGL
With Canvas
Other Examples
vercel/hyper#6242
vercel/hyper#6239
I'm able to consistently reproduce using the steps above for webgl renderer, the hyper issue I've linked also mentions the same for canvas but I'm not able to get a consistent repro
Finding
5437571 is the first bad commit
@Tyriar I'm not familiar enough with xterm core code to fix this, I can try if you can provide some direction as to what might be wrong from the commit I've mentioned.
Till we can get this, we can use 4.15 since this affects usability a lot. But that version suffers from #3547, I've opened #3618 to work around that in ligatures addon itself
The text was updated successfully, but these errors were encountered: