iTerm2 was not designed for GPU rendering from day one so it suffers from some complexity that hurts performance. This will get better in macOS 10.14 because I won't have to worry about subpixel antialiasing which adds some extra steps (details here: https://docs.google.com/document/d/1vfBq6vg409Zky-IQ7ne-Yy7o...).
There's also a lot of preprocessing to do before sending work to the GPU. For example, computing the color of each cell is a very complex algorithm because foreground and background colors interact with each other and also determine the font. For example, you can enable thinner strokes only when it's light text on a dark background. Work can't be sent to the GPU until the text is rendered into a texture, which means colors must be known. There's room for optimization here for common cases, but I haven't taken that on yet. My goal for 3.2 is for it to be an improvement over the legacy renderer and a solid foundation for iteration in the future.
Hehe Yeah that's what I did actually, granted I'm a heavy vim user and feel the difference very quickly while switching between files, scrolling, etc. But yeah I did in fact recorded video and saw the delta there. I'm sure for most people iterm2 is a more than enough choice.
1. https://github.com/kovidgoyal/kitty
2. https://github.com/jwilm/alacritty