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 problems? Date: Mon, 24 Mar 2014 21:34:15 +0200 Message-ID: <837g7j1jd4.fsf@gnu.org> References: <532ABA60.7000003@gmx.at> <83siqc7n87.fsf@gnu.org> <83a9ck6lzf.fsf@gnu.org> <83eh1v5y53.fsf@gnu.org> <83y5024r1w.fsf@gnu.org> <83ior6489a.fsf@gnu.org> <834n2q43os.fsf@gnu.org> <83vbv62gr7.fsf@gnu.org> <83txao1c8n.fsf@gnu.org> <877g7kxai3.fsf@fencepost.gnu.org> <83ob0v1qkj.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1395689682 19075 80.91.229.3 (24 Mar 2014 19:34:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Mar 2014 19:34:42 +0000 (UTC) Cc: dak@gnu.org, emacs-devel@gnu.org To: Stefan Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 24 20:34:50 2014 Return-path: Envelope-to: ged-emacs-devel@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 1WSAdz-00071o-7o for ged-emacs-devel@m.gmane.org; Mon, 24 Mar 2014 20:34:47 +0100 Original-Received: from localhost ([::1]:38117 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WSAdy-00078r-Hs for ged-emacs-devel@m.gmane.org; Mon, 24 Mar 2014 15:34:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WSAdq-00078c-O8 for emacs-devel@gnu.org; Mon, 24 Mar 2014 15:34:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WSAdl-0006wS-JW for emacs-devel@gnu.org; Mon, 24 Mar 2014 15:34:38 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:62295) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WSAde-0006vP-IH; Mon, 24 Mar 2014 15:34:26 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0N2Y00L00H0U5Y00@a-mtaout20.012.net.il>; Mon, 24 Mar 2014 21:34:24 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2Y00L1QH1B6000@a-mtaout20.012.net.il>; Mon, 24 Mar 2014 21:34:24 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:170927 Archived-At: > From: Stefan > Cc: David Kastrup , emacs-devel@gnu.org > Date: Mon, 24 Mar 2014 14:15:00 -0400 > > > OTOH, when we need to deiconify a frame, or expose a large portion of > > it, I see no space for significant optimizations anyway. Redisplay > > optimizations are about redrawing as small portions of the frame as > > possible. But in the case in point, we basically need to redraw the > > entire frame -- how much can you win here anyway? > > Of course, the window-system may elect to do some of this redraw on its > own by keeping a copy of the frame's last content (under X11 the > corresponding feature is called "BackingStore"). In that case we don't > need to redraw the entire frame. We may often not need to redraw > anything at all. Not redrawing anything is easy, provided that we know we can. > IIRC this "BackingStore" option is typically disabled nowadays in X11, > so we shouldn't pay too much attention to it. But I'm not sure how > compositing window-managers behave in this respect, since they kind of > "naturally" have a kinf of backing-store. IOW, if we want to be serious > about this discussion, we should first get some real data from w32, > Gnome, and ns cases to see if in practice, a deiconifiy is almost always > followed by an "expose" of the frame, or not. I already looked on w32: when a frame is deiconified, we always get a WM_PAINT message telling us to repaint the whole frame, which I guess is the Windows equivalent of the Expose event.