aboutsummaryrefslogtreecommitdiff
path: root/src/protocol/surface_delta.rs
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-28 16:19:42 +0300
committerGitHub <noreply@github.com>2026-09-28 16:19:42 +0300
commit80c0c07250d22f69d3fa05cb1700302d66180eb8 (patch)
tree9e1903d65c83263354be4b2166f3a7c92dc2a8e2 /src/protocol/surface_delta.rs
parent8c8cb49c237eec2f82192dd831ec7308905f2c0a (diff)
perf: send scrolling pane output as row shifts and skip blank cells (#4711)
* perf: send scrolling pane output as row shifts and skip blank cells * fix: keep expanded scroll patches disjoint for the fast presentation path
Diffstat (limited to 'src/protocol/surface_delta.rs')
-rw-r--r--src/protocol/surface_delta.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/protocol/surface_delta.rs b/src/protocol/surface_delta.rs
index 8f94633b..b0abe4da 100644
--- a/src/protocol/surface_delta.rs
+++ b/src/protocol/surface_delta.rs
@@ -224,7 +224,7 @@ mod tests {
}
fn reconstruct(last: &PaneSurfaceFrame, next: &PaneSurfaceFrame) -> ServerMessage {
- let mut decoder = crate::protocol::surface_reuse::Decoder::new(true);
+ let mut decoder = crate::protocol::surface_reuse::Decoder::new(true, false);
decoder
.decode(ServerMessage::PaneSurface(last.clone()))
.unwrap();
@@ -384,7 +384,7 @@ mod tests {
8 => corrupt.surface.projection_revision = 0,
_ => unreachable!(),
}
- let mut decoder = crate::protocol::surface_reuse::Decoder::new(true);
+ let mut decoder = crate::protocol::surface_reuse::Decoder::new(true, false);
decoder
.decode(ServerMessage::PaneSurface(last.clone()))
.unwrap();
@@ -409,7 +409,7 @@ mod tests {
let mut next = last.clone();
next.surface_revision += 1;
next.frame.cells[0].symbol = "a".into();
- let mut decoder = crate::protocol::surface_reuse::Decoder::new(true);
+ let mut decoder = crate::protocol::surface_reuse::Decoder::new(true, false);
decoder.decode(ServerMessage::PaneSurface(last)).unwrap();
decoder
.decode(ServerMessage::PaneSurfacePatch(
@@ -512,7 +512,7 @@ mod tests {
.decode(ServerMessage::PaneSurface(last.clone()))
.unwrap();
assert!(legacy.decode(update.clone()).is_err());
- let mut decoder = crate::protocol::surface_reuse::Decoder::new(true);
+ let mut decoder = crate::protocol::surface_reuse::Decoder::new(true, false);
decoder.decode(ServerMessage::PaneSurface(last)).unwrap();
let ServerMessage::EndpointControl { data, .. } = &update else {
panic!("delta");