[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Scrolling performance in vertical split-screen mode - screen vs. tmu
From: |
Sadrul Habib Chowdhury |
Subject: |
Re: Scrolling performance in vertical split-screen mode - screen vs. tmux |
Date: |
Tue, 8 Dec 2009 01:18:13 -0500 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
* Nicholas Marriott had this to say on [10 Aug 2009, 08:17:00 +0100]:
> Hi
>
> I haven't tested but I suspect this is probably the reason tmux is faster
> (from
> tty_redraw_region in tty.c):
>
> /*
> * If region is >= 50% of the screen, just schedule a window redraw.
> In
> * most cases, this is likely to be followed by some more scrolling -
> * without this, the entire pane ends up being redrawn many times
> which
> * can be much more data.
> */
> if (ctx->orupper - ctx->orlower >= screen_size_y(s) / 2) {
> wp->flags |= PANE_REDRAW;
> return;
> }
>
> Because entire pane redraws happen once after all buffered data has been
> consumed, this has the effect of redrawing the entire pane once for however
> many lines were scrolled in that read(2), rather than once for each line.
>
> This works well over a short link but is obviously fairly naive, something
> speculative or based on a timer might be more effective over a longer
> link. Higher network latency will mean less scrolling buffered so more redraws
> and (visibly) slower scrolling.
>
[snip]
Hi. FYI: http://lists.gnu.org/archive/html/screen-users/2009-12/msg00013.html
The fix is somewhat similar, i.e. refresh the region once at the end,
rather than once for each character/line. It seems to work fairly OK so
far too! If there's some caveat I am missing, please feel free to point
it out! :-)
Cheers,
Sadrul
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Scrolling performance in vertical split-screen mode - screen vs. tmux,
Sadrul Habib Chowdhury <=