From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.bugs Subject: bug#16621: 24.3.50; Periodic timer + overlays = flickering near point Date: Tue, 4 Feb 2014 23:08:13 +0100 Message-ID: <76F58FD5-23A5-43EC-91FA-BAD933BB41DA@swipnet.se> References: <87r47m72ft.fsf@yandex.ru> <838utt4gff.fsf@gnu.org> <52F051D2.9020404@yandex.ru> <83eh3j35cq.fsf@gnu.org> <52F08602.5090501@yandex.ru> <83a9e63m1n.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (1.0) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1391551752 24674 80.91.229.3 (4 Feb 2014 22:09:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Feb 2014 22:09:12 +0000 (UTC) Cc: Dmitry Gutov , "16621@debbugs.gnu.org" <16621@debbugs.gnu.org> To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Feb 04 23:09:18 2014 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 1WAoBB-0005vR-U3 for geb-bug-gnu-emacs@m.gmane.org; Tue, 04 Feb 2014 23:09:18 +0100 Original-Received: from localhost ([::1]:55859 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WAoBB-0006dn-9S for geb-bug-gnu-emacs@m.gmane.org; Tue, 04 Feb 2014 17:09:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53874) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WAoB3-0006c6-8Z for bug-gnu-emacs@gnu.org; Tue, 04 Feb 2014 17:09:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WAoAx-0006cL-71 for bug-gnu-emacs@gnu.org; Tue, 04 Feb 2014 17:09:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35811) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WAoAx-0006cH-4N for bug-gnu-emacs@gnu.org; Tue, 04 Feb 2014 17:09:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WAoAw-0001Yc-IN for bug-gnu-emacs@gnu.org; Tue, 04 Feb 2014 17:09:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Jan D." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Feb 2014 22:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16621 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16621-submit@debbugs.gnu.org id=B16621.13915516985931 (code B ref 16621); Tue, 04 Feb 2014 22:09:02 +0000 Original-Received: (at 16621) by debbugs.gnu.org; 4 Feb 2014 22:08:18 +0000 Original-Received: from localhost ([127.0.0.1]:49830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WAoAD-0001Xa-Gk for submit@debbugs.gnu.org; Tue, 04 Feb 2014 17:08:17 -0500 Original-Received: from mailfe01.swip.net ([212.247.154.1]:49411 helo=swip.net) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WAoAA-0001XP-5b for 16621@debbugs.gnu.org; Tue, 04 Feb 2014 17:08:15 -0500 X-T2-Spam-Status: No, hits=0.8 required=5.0 tests=BAYES_50, MIME_QP_LONG_LINE Original-Received: from hosdjarv.se (account mj138573@tele2.se [46.59.42.57] verified) by mailfe01.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 477455378; Tue, 04 Feb 2014 23:08:11 +0100 X-Mailer: iPad Mail (11B554a) In-Reply-To: <83a9e63m1n.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:84568 Archived-At: Hi. 4 feb 2014 kl. 17:00 skrev Eli Zaretskii : >> Date: Tue, 04 Feb 2014 08:17:38 +0200 >> From: Dmitry Gutov >> CC: 16621@debbugs.gnu.org, monnier@IRO.UMontreal.CA >>=20 >>> You mean, outside Emacs? Yes, probably, but then this isn't an Emacs >>> issue, and I know absolutely nothing about it. >>=20 >> Would a windowing system know which Emacs display states are=20 >> "consistent", and which aren't? >=20 > If hints are needed, we could do that. >=20 >> AFAIU, flickering happens when the screen refreshes while Emacs display=20= >> is in an inconsistent state. Like, you've cleared a rectangle to paint a=20= >> character in it, but haven't yet painted it >>=20 >> If you copied the rendered state into a buffer, then cleared and painted=20= >> the character there, then rendered the buffer into the window as a=20 >> whole, the windowing system won't get a chance to see and display the=20 >> intermediate state. >=20 > Avoiding the cursor redraws sounds much easier, but again, I'm not an > expert on this. Perhaps Jan could comment. Avoiding the cursor redraws must be easier. Implementing double buffering i= s more work. Not rocket sience, but it would probably take a while to get it right.=20 Ironically we turn off the Gtk double buffering, because it only works with G= tk drawing functions, and Emacs uses X functions. A more long term solution would be to use Cairo= . There is a patch for it, but it does not work on the trunk. Mainly because the ftfont backen= d is broken. So, if there is a way to avoid cursor redraws, go for it. All ports benefit= . Double buffering is a port specific solution, unless the display engine d= oes double buffering by having two sets of glyphs and compares them to see w= hat has really changed. Sounds like a big project. Jan D.