macvim icon indicating copy to clipboard operation
macvim copied to clipboard

Slow buffer updates with Undotree plugin

Open jgvanwyk opened this issue 2 years ago • 2 comments

Undotree is a plugin that adds a visual representation of Vim's undo tree. When this tree view is open, certain operations (undo, redo, joining lines) are slow in the GUI, but not in the terminal.

To reproduce:

  1. Add the Undotree plugin to ~/.vim/pack/mbbill/opt/undotree so that it will be found by packadd:
mkdir -p ~/.vim/pack/mbbill/opt
git clone https://github.com/mbbill/undotree ~/.vim/pack/mbbill/opt
  1. Start MacVim with mvim -u vimrc where vimrc is
set nocompatible
set undofile
packadd undotree
  1. Open the undo tree visualiser added by Undotree: :UndotreeToggle
  2. Insert 100 lines: 100ii<CR><Esc>
  3. Go the first line: gg
  4. Join all the lines: Hold J

There should be noticeable lag. Now repeat steps 1-6 except with mvim -v -u vimrc in step 2. Joining the lines should be quite snappy.

I've attached two videos below showing the behaviour in each case, and I've included my system details.

GUI:

https://github.com/macvim-dev/macvim/assets/123784102/4e1828c4-4e40-4f29-9171-6c77a1b15f9e

Terminal.app:

https://github.com/macvim-dev/macvim/assets/123784102/26cc3bda-fd04-4165-9bd1-712da0132d45

System details: OS: macOS Ventura 13.4 arm64 Shell: zsh 5.9 Terminal: Terminal.app $TERM: xterm-256color Vim: Downloaded from GitHub Releases

jgvanwyk avatar Jul 12 '23 01:07 jgvanwyk

I can reproduce this, but not 100% what the cause is yet. It's probably the renderer. Will probably need to take a look a little later. Currently slot it for the next release (r178).

ychin avatar Jul 12 '23 10:07 ychin

Seems related to #1259, but not sure.

ychin avatar Sep 12 '23 00:09 ychin