[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.

Hi. FYI:

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! :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]