Updates:
Summary: Performance issues
Comment #1 on issue 357 by reiner.p...@gmail.com: Performance issues
http://code.google.com/p/yi-editor/issues/detail?id=357
This commit[1] fixes the problem described as well as I can so far,
although I believe performance could still be significantly improved.
Some of the performance issues appear not to be pango-related, so I'm
changing the title.
Some tricks to exaggerate performance problems:
* open many yi windows all pointing to the same buffer (so that editing
one buffer modifies all buffers)
* try holding a key down to trigger insertion and watch to see whether
characters insert smoothly or (in the extreme case) not at all until
releasing the key
* try holding a scroll key down and see if the cursor scrolls smoothly
* use modes with syntax highlighting, and possible with detailed parsing
(eg precise haskell)
Some possible avenues to improve performance:
* construction the attribute list as well as calls to PangoLayout could be
run in separate threads for different buffers. Although one must be careful
to avoid threading issues in gtk.
* a lot of time (5-10ms on my computer) is spent constructing the
attribute list for syntax highlighting. Perhaps explore a packed
representation rather than lists? Perhaps cache the attribute list
alongside the parser cache, so multiple views of one buffer can share the
attribute list?
[1]
https://github.com/yi-editor/yi/commit/8b81ca33b291149dbc15f31db572e0b9d2782811
--
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel