aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src/output
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2022-11-21 20:07:24 +0100
committerGitHub <noreply@github.com>2022-11-21 20:07:24 +0100
commit63e7531c48f1c8fbe916e3ac5475cf36201f52b8 (patch)
tree534e56cf9cf2924cec94a32bef1b6bcf92760209 /zellij-server/src/output
parentdocs(changelog): client buffer overflow fix (diff)
downloadsl0ppij-63e7531c48f1c8fbe916e3ac5475cf36201f52b8.tar.gz
sl0ppij-63e7531c48f1c8fbe916e3ac5475cf36201f52b8.tar.xz
sl0ppij-63e7531c48f1c8fbe916e3ac5475cf36201f52b8.zip
performance(rendering): improve rendering performance (#1960)
* refactor(plugins): plugins now need to explicitly ask to be rendered * performance(render): remove various needless renders * performance(render): cache boundaries * performance(render): adjust tests and cache cursor location/shape * style(comment): remove outdated * style(fmt): rustfmt
Diffstat (limited to 'zellij-server/src/output')
-rw-r--r--zellij-server/src/output/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/zellij-server/src/output/mod.rs b/zellij-server/src/output/mod.rs
index f40c8514..51a21f7b 100644
--- a/zellij-server/src/output/mod.rs
+++ b/zellij-server/src/output/mod.rs
@@ -396,6 +396,12 @@ impl Output {
}
Ok(serialized_render_instructions)
}
+ pub fn is_dirty(&self) -> bool {
+ !self.pre_vte_instructions.is_empty()
+ || !self.post_vte_instructions.is_empty()
+ || self.client_character_chunks.values().any(|c| !c.is_empty())
+ || self.sixel_chunks.values().any(|c| !c.is_empty())
+ }
}
// this struct represents the geometry of a group of floating panes