emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: redisplay-dont-pause


From: Eli Zaretskii
Subject: Re: redisplay-dont-pause
Date: Thu, 15 Sep 2011 00:59:17 -0400

> Date: Thu, 15 Sep 2011 00:12:00 -0400
> From: Richard Stallman <address@hidden>
> CC: address@hidden
> Reply-to: address@hidden
> 
>     Any objections to change the default value of this option to t?  The
>     reasons for its nil value are long gone, AFAIK, and it definitely
>     improves user experience when redisplay needs to work hard.
> 
> How does setting it to t improve things?

When the value is nil, Emacs checks at several places during redisplay
whether some input is available, and if so, it aborts the redisplay
cycle to handle the incoming input.  That has the effect of forcing a
full redisplay on the next opportunity, for those frames that were not
completely redisplayed.  Here, "full" means that all display
optimizations are wholesale disabled for all windows on the frame.
E.g., even just moving the cursor or scrolling by one line will redraw
the entire window.

This adversely affects the user experience when you lean on some key,
like C-n or C-v, and Emacs gets input events at the keyboard
auto-repeat rate (which is generally quite high nowadays): frequently,
the display gets stuck because Emacs cannot keep up with the input and
completely stops displaying.

Setting the variable to t has 2 effects:

 . it lets Emacs use redisplay optimizations more often, which are a
   big win for commands that generally just move without changing the
   buffer, thus boosting Emacs's ability to process input faster;

 . it effectively slows down the keyboard auto-repeat rate (because
   events need to wait for the end of redisplay before they are
   processed), but only by a small factor, so the user experience is
   that Emacs does succeed to keep up.



reply via email to

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