diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-28 16:19:42 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-28 16:19:42 +0300 |
| commit | 80c0c07250d22f69d3fa05cb1700302d66180eb8 (patch) | |
| tree | 9e1903d65c83263354be4b2166f3a7c92dc2a8e2 /src/protocol/surface_delta.rs | |
| parent | 8c8cb49c237eec2f82192dd831ec7308905f2c0a (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.rs | 8 |
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"); |
