From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: redisplay system of emacs Date: Wed, 17 Feb 2010 06:20:48 +0200 Message-ID: <83fx50xzkv.fsf@gnu.org> References: "35766.130.55.118.19.1266338417.squirrel@webmail.lanl.gov" <4B7AEFE6.4000305@gmx.de> <83hbphx86n.fsf@gnu.org> <4B7B0663.1050202@gmx.de> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1266381334 7246 80.91.229.12 (17 Feb 2010 04:35:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 17 Feb 2010 04:35:34 +0000 (UTC) Cc: emacs-devel@gnu.org To: grischka Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 17 05:35:32 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 1NhbdK-00089F-DK for ged-emacs-devel@m.gmane.org; Wed, 17 Feb 2010 05:35:30 +0100 Original-Received: from localhost ([127.0.0.1]:47774 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NhbdJ-0007pU-TY for ged-emacs-devel@m.gmane.org; Tue, 16 Feb 2010 23:35:29 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nhbcy-0007cd-DX for emacs-devel@gnu.org; Tue, 16 Feb 2010 23:35:08 -0500 Original-Received: from [140.186.70.92] (port=36769 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nhbcs-0007W0-M4 for emacs-devel@gnu.org; Tue, 16 Feb 2010 23:35:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NhbRh-0004cE-TB for emacs-devel@gnu.org; Tue, 16 Feb 2010 23:23:30 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:42032) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NhbRh-0004c9-Jg for emacs-devel@gnu.org; Tue, 16 Feb 2010 23:23:29 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0KXY00700WW25T00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Wed, 17 Feb 2010 06:22:44 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.228.213.68]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KXY005YLXHV92B0@a-mtaout20.012.net.il>; Wed, 17 Feb 2010 06:22:44 +0200 (IST) In-reply-to: <4B7B0663.1050202@gmx.de> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) 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:121157 Archived-At: > Date: Tue, 16 Feb 2010 21:56:03 +0100 > From: grischka > CC: herring@lanl.gov, emacs-devel@gnu.org > > 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 point is, it tries to limit the region where it looks for differences to as small portion of the screen as possible, sometimes a single line. Therefore ``draws the new screen to memory'' is an exception; the rule is ``draws a small portion of the new screen to memory''. > > 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. The current display code was designed in 1999.