lanoxx / tilda

A Gtk based drop down terminal for Linux and Unix
GNU General Public License v2.0
1.28k stars 161 forks source link

Tilda is slow to minimize to/from fullscreen w/ lots of lines in scrollback buffer #160

Open pik opened 9 years ago

pik commented 9 years ago

This happens when I run unlimited or 5000+ in the scroll-back limit, noticeably Tilda is not slow to hide / disappear from normal size, but it is for full-screen. Not sure if this is related to the other fullscreen issue, but what I suspect happens is that the lines get re-wrapped to normal-size and then must be re-wrapped again for the fullscreen view.

If screen-size is set to 100% in appearance there is no noticeable increase in delay for minimizing/maximizing to and from.

lanoxx commented 9 years ago

The reason for this is probably that we are resizing tilda when we show or hide it with active animation.

This problem will probably be obsolete once I have merged the wip/animation branch. Feel free to give it a try if you have time.

pik commented 9 years ago

@lanoxx I'm not using the active animation; maybe this is because GTK showing the widget and changing it's size to fullscreen happen separately which I think would cause vte to rewrap the terminal output twice.

But I'm not testing this with the new vte, so probably I should fix-up and rebase the patch for that first.

lanoxx commented 9 years ago

Is this still an issue with VTE 2.91 and/or my wip/animation branch?

pik commented 9 years ago

@lanoxx I tried this on the new animation branch -- it's considerably better. Unlimited scroll-back seems to make gnome-terminal slow as well for -> fullscreen transition, so I don't know if we can expect any further improvement on our end.

Does vte do lazy rewrapping do you know?

egmontkob commented 8 years ago

No lazy rewrapping unfortunately. At resize vte synchronously rewraps the entire scrollback and blocks for the duration of this operation. On my machine it takes about 0.2 seconds per 1M lines of scrollback.

There's an API to toggle the resize on rewrap feature, gnome-terminal offers it in its preferences, tilda might as well consider adding it. This is the best workaround we can offer for those who want to have a giant scrollback and want to resize their terminals.

lanoxx commented 8 years ago

I guess the relevant API function is this one: vte_terminal_set_rewrap_on_resize, I am going to flag this as enhancement. We can probably consider to add this for 1.4