summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2021-01-25 22:23:08 +0100
committerChristian Duerr <contact@christianduerr.com>2021-02-24 16:16:38 +0000
commit9575aed68197ba783e50b922a6c3f9a78b8c7048 (patch)
tree5978f62ca3d0744864e483b00baff21e6f1c63d1 /CHANGELOG.md
parent64abd7fb43febc53e27e63411a1eb06c633302bb (diff)
downloadalacritty-9575aed68197ba783e50b922a6c3f9a78b8c7048.tar.gz
alacritty-9575aed68197ba783e50b922a6c3f9a78b8c7048.zip
Add support for synchronized updates
This implements support for temporarily freezing the terminal grid to prevent rendering of incomplete frames. This can be triggered using the escapes `DCS = 1 s` (start) and `DCS = 2 s` (end). The synchronization is implemented by forwarding all received PTY bytes to a 2 MiB buffer. This should allow updating the entire grid even if it is fairly dense. Unfortunately this also means that another branch is necessary in Alacritty's parser which does have a slight performance impact. In a previous version the freezing was implemented by caching the renderable grid state whenever a synchronized update is started. While this strategy makes it possible to implement this without any performance impact without synchronized updates, a significant performance overhead is introduced whenever a synchronized update is started. Since this can happen thousands of times per frame, it is not a feasible solution. While it would be possible to render at most one synchronized update per frame, it is possible that another synchronized update comes in at any time and stays active for an extended period. As a result the state visible before the long synchronization would be the first received update per frame, not the last, which could lead to the user missing important information during the long freezing interval. Fixes #598.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md1
1 files changed, 1 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f0fa7e32..37eb741f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Added
- IME composition preview not appearing on Windows
+- Synchronized terminal updates using `DCS = 1 s ST`/`DCS = 2 s ST`
### Fixed