From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: grischka Newsgroups: gmane.emacs.devel Subject: Re: redisplay system of emacs Date: Tue, 16 Feb 2010 21:56:03 +0100 Message-ID: <4B7B0663.1050202@gmx.de> References: "35766.130.55.118.19.1266338417.squirrel@webmail.lanl.gov" <4B7AEFE6.4000305@gmx.de> <83hbphx86n.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1266354215 3556 80.91.229.12 (16 Feb 2010 21:03:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 16 Feb 2010 21:03:35 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 16 22:03:33 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NhUZs-0000n3-Ef for ged-emacs-devel@m.gmane.org; Tue, 16 Feb 2010 22:03:28 +0100 Original-Received: from localhost ([127.0.0.1]:56586 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NhUZp-00030s-6i for ged-emacs-devel@m.gmane.org; Tue, 16 Feb 2010 16:03:25 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NhUZk-0002z8-N0 for emacs-devel@gnu.org; Tue, 16 Feb 2010 16:03:20 -0500 Original-Received: from [140.186.70.92] (port=42849 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NhUZj-0002xn-Qk for emacs-devel@gnu.org; Tue, 16 Feb 2010 16:03:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NhUZj-0000Bk-5C for emacs-devel@gnu.org; Tue, 16 Feb 2010 16:03:19 -0500 Original-Received: from mail.gmx.net ([213.165.64.20]:40913) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1NhUZi-0000Bb-9u for emacs-devel@gnu.org; Tue, 16 Feb 2010 16:03:19 -0500 Original-Received: (qmail invoked by alias); 16 Feb 2010 20:56:32 -0000 Original-Received: from 1Cust185.tnt6.ber2.deu.da.uu.net (EHLO [149.225.88.185]) [149.225.88.185] by mail.gmx.net (mp064) with SMTP; 16 Feb 2010 21:56:32 +0100 X-Authenticated: #18588216 X-Provags-ID: V01U2FsdGVkX19F6sBlX8BFiiJWBBNTTxc1Z01cV3iF3mN5+vPvg9 P1nIwr1Df1NYBY User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) In-Reply-To: <83hbphx86n.fsf@gnu.org> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.66000000000000003 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121152 Archived-At: Eli Zaretskii wrote: >> It's not _that_complicated. Basically it just draws the new screen to >> memory, then compares it with the current screen and then updates the >> differences. > > That's only a small part of the story. It draws only part of the > screen, not all of it (unless optimizations fail), and it goes to > great lengths to minimize that part of the screen. Sure, thats what I wrote: It updates only the differences. > The reason is that delivering to the screen is not the heaviest part > of the redisplay; it's that ``drawing to memory'' that is. That is probably true nowadays with fast graphical screens (say for PCs after ~1995). However the design of emacs' "redisplay" is based on the contrary assumption that sending the updates to the terminal more expensive than their calculation. If you want to it is optimized for _very_ slow terminals to the expense of code simplicity. I assume it was working great with 14400 baud connections, but then again emacs didn't have colors and var-pitch fonts at that times, either. --- grischka