From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#13623: 24.3.50; Redisplay issue with transient-mark-mode Date: Wed, 06 Feb 2013 20:23:04 +0200 Message-ID: <834nhp9u9j.fsf@gnu.org> References: <877gmp5a04.fsf@ed.ac.uk> <83vca89izh.fsf@gnu.org> <5110906D.7020406@yandex.ru> <83fw1aac3d.fsf@gnu.org> <51120360.4060104@yandex.ru> <51127363.5030203@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1360175031 18965 80.91.229.3 (6 Feb 2013 18:23:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 6 Feb 2013 18:23:51 +0000 (UTC) Cc: wence@gmx.li, 13623@debbugs.gnu.org To: Dmitry Antipov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Feb 06 19:24:11 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1U39fF-00011b-Ik for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Feb 2013 19:24:09 +0100 Original-Received: from localhost ([::1]:34027 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U39ew-00083L-QD for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Feb 2013 13:23:50 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:40935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U39et-00083D-24 for bug-gnu-emacs@gnu.org; Wed, 06 Feb 2013 13:23:48 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U39er-0001Kt-6e for bug-gnu-emacs@gnu.org; Wed, 06 Feb 2013 13:23:46 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34219) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U39er-0001Kp-3j for bug-gnu-emacs@gnu.org; Wed, 06 Feb 2013 13:23:45 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1U39g6-0003uw-5W for bug-gnu-emacs@gnu.org; Wed, 06 Feb 2013 13:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Feb 2013 18:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13623 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 13623-submit@debbugs.gnu.org id=B13623.136017506615002 (code B ref 13623); Wed, 06 Feb 2013 18:25:02 +0000 Original-Received: (at 13623) by debbugs.gnu.org; 6 Feb 2013 18:24:26 +0000 Original-Received: from localhost ([127.0.0.1]:39682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U39fV-0003tv-Pb for submit@debbugs.gnu.org; Wed, 06 Feb 2013 13:24:26 -0500 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:51200) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U39fT-0003tj-7s for 13623@debbugs.gnu.org; Wed, 06 Feb 2013 13:24:24 -0500 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MHT000009O04M00@a-mtaout21.012.net.il> for 13623@debbugs.gnu.org; Wed, 06 Feb 2013 20:22:50 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MHT00NY19Q22L70@a-mtaout21.012.net.il>; Wed, 06 Feb 2013 20:22:50 +0200 (IST) In-reply-to: <51127363.5030203@yandex.ru> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:70767 Archived-At: > Date: Wed, 06 Feb 2013 19:14:43 +0400 > From: Dmitry Antipov > CC: Eli Zaretskii , wence@gmx.li, 13623@debbugs.gnu.org > > I have a few experimental patches with per-frame fonts_changed_p and > cursor_type_changed flags. Since font/cursor changes are rare, the > effect is negligible, but this opens the way towards more > interesting things. What exactly is the strategy of enabling per-frame redisplay optimizations? As you point out, font and cursor type changes are not the important cost drivers. The question is: what is? IOW, how do you know which changes affect what frames? The current display engine does not try to optimize per-frame redisplay (except on a TTY, but let's forget about that for a moment). It tries to optimize per-window redisplay. I don't see what's wrong with this approach; in fact, I think for GUI frames it's better than per-frame optimizations. Therefore, I think we should improve optimizations by more aggressively detecting windows that need not be updated, instead of turning our attention to frames. In any case, the first step towards any intelligent improvements in redisplay optimizations would be to compile a list of use cases where we currently give up and redisplay entire windows, and where this thorough redisplay really matters, i.e. we can actually see and measure the effect of this. Another area of redisplay optimizations would be the infamous very-long-lines use case. (Personally, I think this one is the single most important deficiency in the current display engine, by far more important than any other display problem.)