unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 16621@debbugs.gnu.org
Subject: bug#16621: 24.3.50; Periodic timer + overlays = flickering near point
Date: Tue, 04 Feb 2014 08:17:38 +0200	[thread overview]
Message-ID: <52F08602.5090501@yandex.ru> (raw)
In-Reply-To: <83eh3j35cq.fsf@gnu.org>

On 04.02.2014 05:48, Eli Zaretskii wrote:
>> Some relatively low-hanging fruit has already been mentioned in the
>> comments
>
> Like what?  If you mean the fact that we redraw the cursor when
> perhaps that could be avoided, someone else will have to suggest a
> better algorithm than doing it on every frame update.

No suggestions from me here.

It should still be easier than double buffering, though.

>> but would it be too much to expect some sort of double-buffering
>> used for Emacs display, eventually?
>
> You mean, outside Emacs?  Yes, probably, but then this isn't an Emacs
> issue, and I know absolutely nothing about it.

Would a windowing system know which Emacs display states are 
"consistent", and which aren't?

>> Or is the related overhead considered too much of a cost?
>
> If you mean double buffering inside Emacs, you will have to explain
> why you think it will solve the problem.

AFAIU, flickering happens when the screen refreshes while Emacs display 
is in an inconsistent state. Like, you've cleared a rectangle to paint a 
character in it, but haven't yet painted it

If you copied the rendered state into a buffer, then cleared and painted 
the character there, then rendered the buffer into the window as a 
whole, the windowing system won't get a chance to see and display the 
intermediate state.





  reply	other threads:[~2014-02-04  6:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-02  1:01 bug#16621: 24.3.50; Periodic timer + overlays = flickering near point Dmitry Gutov
2014-02-02  2:33 ` Stefan Monnier
2014-02-02  2:37   ` Dmitry Gutov
2014-02-02 16:39 ` Eli Zaretskii
2014-02-03  2:12   ` Stefan Monnier
2014-02-03  5:47     ` Eli Zaretskii
2014-02-03 13:41       ` Stefan Monnier
2014-02-03 16:14         ` Eli Zaretskii
2014-02-04  3:28           ` Stefan Monnier
2014-02-04  3:44             ` Eli Zaretskii
2014-02-04  2:34   ` Dmitry Gutov
2014-02-04  3:48     ` Eli Zaretskii
2014-02-04  6:17       ` Dmitry Gutov [this message]
2014-02-04 16:00         ` Eli Zaretskii
2014-02-04 22:08           ` Jan D.
2014-02-05  3:57             ` Eli Zaretskii
2014-02-05  6:02               ` Jan Djärv
2014-02-05 15:40                 ` Eli Zaretskii
2014-02-05 13:46               ` Stefan Monnier
2014-02-05 15:59                 ` Eli Zaretskii
2014-02-05 18:57                   ` Stefan Monnier
2014-02-05 20:00                     ` Eli Zaretskii
2014-02-05 21:46                       ` Stefan Monnier
2014-02-06  5:56                         ` Eli Zaretskii
2014-02-06 13:08                           ` Stefan Monnier
2014-02-06 14:20                             ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F08602.5090501@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=16621@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).