aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-06-16 19:17:57 +0200
committerbfredl <bjorn.linse@gmail.com>2022-07-18 14:08:44 +0200
commit67a04fe6cb0f6b0cd3d44ae37b7caddddda198ea (patch)
treebb7f51c543dd03e6303e91d81fc592b1283e03c3 /src/nvim/ui.c
parent1b462705d049fa0cf2bb99bae9112b84abea8d5a (diff)
downloadrneovim-67a04fe6cb0f6b0cd3d44ae37b7caddddda198ea.tar.gz
rneovim-67a04fe6cb0f6b0cd3d44ae37b7caddddda198ea.tar.bz2
rneovim-67a04fe6cb0f6b0cd3d44ae37b7caddddda198ea.zip
perf(ui): unpack a single ui event at a time, instead of a "redraw" batch
This reduces the memory overhead for large redraw batches, as a much smaller prefix of the api object buffer is used and needs to be hot in cache.
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r--src/nvim/ui.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c
index a49e9df9ee..27fa1c402c 100644
--- a/src/nvim/ui.c
+++ b/src/nvim/ui.c
@@ -348,7 +348,8 @@ void ui_attach_impl(UI *ui, uint64_t chanid)
if (ui_count == MAX_UI_COUNT) {
abort();
}
- if (!ui->ui_ext[kUIMultigrid] && !ui->ui_ext[kUIFloatDebug]) {
+ if (!ui->ui_ext[kUIMultigrid] && !ui->ui_ext[kUIFloatDebug]
+ && !ui_client_channel_id) {
ui_comp_attach(ui);
}