From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: Analysis of redisplay performance on Windows Date: Sun, 27 Jul 2008 17:40:12 -0400 Message-ID: <87iqurhupv.fsf@stupidchicken.com> References: <87od4kuis1.fsf@stupidchicken.com> <488C45FF.2040509@gnu.org> <87tzebnizu.fsf@stupidchicken.com> <488CE8F6.5080001@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1217194871 21349 80.91.229.12 (27 Jul 2008 21:41:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 27 Jul 2008 21:41:11 +0000 (UTC) Cc: emacs-devel@gnu.org To: Jason Rumney Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 27 23:42:00 2008 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.50) id 1KNE04-0008MD-O2 for ged-emacs-devel@m.gmane.org; Sun, 27 Jul 2008 23:41:57 +0200 Original-Received: from localhost ([127.0.0.1]:54785 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KNDz9-0006aI-NJ for ged-emacs-devel@m.gmane.org; Sun, 27 Jul 2008 17:40:59 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KNDz5-0006Zw-CQ for emacs-devel@gnu.org; Sun, 27 Jul 2008 17:40:55 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KNDz0-0006ZV-2S for emacs-devel@gnu.org; Sun, 27 Jul 2008 17:40:54 -0400 Original-Received: from [199.232.76.173] (port=45357 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KNDyz-0006ZS-W8 for emacs-devel@gnu.org; Sun, 27 Jul 2008 17:40:50 -0400 Original-Received: from c-24-63-201-57.hsd1.ma.comcast.net ([24.63.201.57]:20176 helo=furry) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KNDyW-0005cD-GQ; Sun, 27 Jul 2008 17:40:43 -0400 Original-Received: by furry (Postfix, from userid 1000) id E2EAAC059; Sun, 27 Jul 2008 17:40:12 -0400 (EDT) In-Reply-To: <488CE8F6.5080001@gnu.org> (Jason Rumney's message of "Sun, 27 Jul 2008 22:30:30 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) 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:101601 Archived-At: Jason Rumney writes: > Chong Yidong wrote: > >> Could you verify that setting the overlaps argument unconditionally to 1 >> in draw_glyphs indeed removes the performance problem? If so, we can >> work around this. > > Doing this results in a blank frame. #if 0 around the block that calls > left_overwritten and right_overwritten does not solve the performance > problems completely (redisplay can still not keep up with scrolling, > whereas Emacs 22 can on the same PC), and without that code, the display > becomes garbaged, so I don't think it is worth pursuing this workaround. I wasn't suggesting this as a final solution, just as a starting point to look for the solution. What you wrote seems to imply that left_overwritten and right_overwritten aren't really the problem; they have a performance impact simply because they cause more glyphs to be drawn (i.e., for redrawing overwritten glyphs). But the ultimate problem is that drawing glyphs is a much slower operation, compared to GNU/Linux. The question is, what's the reason for this slowness, and can we fix it?