From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Jan_Dj=E4rv?= Newsgroups: gmane.emacs.devel Subject: Re: redisplay system of emacs Date: Fri, 12 Feb 2010 13:49:56 +0100 Message-ID: <4B754E74.8060705@swipnet.se> References: <27349166.post@talk.nabble.com> <27560255.post@talk.nabble.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1265979015 15169 80.91.229.12 (12 Feb 2010 12:50:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 12 Feb 2010 12:50:15 +0000 (UTC) Cc: Emacs-devel@gnu.org To: "alin.s" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 12 13:50:12 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 1NfuyF-0005Ba-Mo for ged-emacs-devel@m.gmane.org; Fri, 12 Feb 2010 13:50:07 +0100 Original-Received: from localhost ([127.0.0.1]:42345 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NfuyF-0006dv-2n for ged-emacs-devel@m.gmane.org; Fri, 12 Feb 2010 07:50:07 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NfuyA-0006d7-An for emacs-devel@gnu.org; Fri, 12 Feb 2010 07:50:02 -0500 Original-Received: from [140.186.70.92] (port=42368 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nfuy9-0006cE-P3 for Emacs-devel@gnu.org; Fri, 12 Feb 2010 07:50:01 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nfuy8-0003ZN-Uv for Emacs-devel@gnu.org; Fri, 12 Feb 2010 07:50:01 -0500 Original-Received: from proxy1.bredband.net ([195.54.101.71]:52683) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nfuy8-0003Yw-PP for Emacs-devel@gnu.org; Fri, 12 Feb 2010 07:50:00 -0500 Original-Received: from ipb2.telenor.se (195.54.127.165) by proxy1.bredband.net (7.3.140.3) id 4B62ECEA0088546A for Emacs-devel@gnu.org; Fri, 12 Feb 2010 13:49:57 +0100 X-SMTPAUTH-B2: X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvdDAM/cdEtV4S1uPGdsb2JhbACHWZMoDAEBAQE3Lr5fhFgE X-IronPort-AV: E=Sophos;i="4.49,460,1262559600"; d="scan'208";a="36399163" Original-Received: from c-6e2de155.25-1-64736c10.cust.bredbandsbolaget.se (HELO coolsville.localdomain) ([85.225.45.110]) by ipb2.telenor.se with ESMTP; 12 Feb 2010 13:49:57 +0100 Original-Received: from [172.20.199.2] (gaffa [172.20.199.2]) by coolsville.localdomain (Postfix) with ESMTP id A03307FA01A; Fri, 12 Feb 2010 13:49:56 +0100 (CET) User-Agent: Thunderbird 2.0.0.23 (X11/20090817) In-Reply-To: <27560255.post@talk.nabble.com> 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:121073 Archived-At: alin.s skrev: > An improvement in redisplay for X can be done by defining in the edit area of > every window a subwindow for every character. For a window of geometry > 200x70 of characters, it would be 1400 windows registered in X-server. You are mad. Everything would be 1400 times more. 1400 times more calls to the X server, 1400 times more GC:s created, 1400 times more events from the X server, 1400 times more Xft structures (XftDraws for example) created. Emacs would be at least 1400 times slower. > > The advantage is that redisplay would work automatically; every character > has associated its own expose event; the event PointerMotionMask would > simply signify LeaveWindow and EnterWindow; so it will always be able to be > captured without resource consuming. But Emacs still needs to figure out what character that is in that window in order to redraw it. > > To say more, in order to clear a character it would require no computation, > but only a simply call of XClearWindow(). > > Every window could have its own font. So say we have 1400 windows each with a different font with a different size? How do you purpose we lay this out? Instead of laying out characters we are now laying out windows. Same problem, but with an enormous overhead. > > And to say more, an image of high dimension will be divided in many > subwindows, and emacs will be able to display images normally, not as a huge > glyph. Again, making the display of an image to be so much slower, because instead of one (ideally), call to the X server, we now have one per window. And what a nightmare to figure out what part of an image that needs to be redrawn and moved if the user changes the size of the Emacs frame... > > And finally, because this structure is identical to the geometry of the > console, the code for X and console can be unified in many places. > Not very likely. Did 1:st of April arrive early? Jan D.