unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan <monnier@IRO.UMontreal.CA>
Cc: rudalics@gmx.at, christian@defun.dk, cloos@jhcloos.com,
	kanru@kanru.info, emacs-devel@gnu.org
Subject: Re: Redisplay problems?
Date: Mon, 24 Mar 2014 19:36:21 +0200	[thread overview]
Message-ID: <83k3bj1otm.fsf@gnu.org> (raw)
In-Reply-To: <jwva9cfhj7y.fsf-monnier+emacs@gnu.org>

> From: Stefan <monnier@IRO.UMontreal.CA>
> Cc: rudalics@gmx.at, christian@defun.dk, kanru@kanru.info, cloos@jhcloos.com,
>         emacs-devel@gnu.org
> Date: Mon, 24 Mar 2014 08:33:30 -0400
> 
> > I still don't see anything performance critical even in this scenario.
> 
> I lived with the older slower behavior for many years, indeed.
> 
> But computers aren't getting very much faster and avoiding a rebuild of
> the glyph matrices sped up some of my use cases significantly, making
> the behavior noticeably smoother.

On these general terms, we are in violent agreement.  (Btw, what about
parallel redisplaying of several frames by several independent
threads?)

However, what I wrote was only about deiconifying a frame, or
redrawing a frame which was entirely obscured.  If we are still
talking about that case, please tell more about the situations where
deiconifying a frame was a bottleneck or even a significant annoyance.

In any case, I'm not opposed to attempts to optimize these scenarios.
How to do that is another question.  Blindly assuming that the current
matrices are up to date doesn't sound like a good idea to me: we will
momentarily flash incorrect display, and sooner or later people will
complain.  And such an incorrect redisplay will be immediately
followed another one, so what exactly have we gained?  But we could do
this when the redisplay flag of the frame is not set, for example.

If the redisplay flag of an obscured/iconified frame _is_ set, then it
looks like you cannot win anyway, because the entire frame needs to be
completely redisplayed, and comparing against the current matrices is
meaningless (since nothing is on the glass, so a full redraw is the
only alternative).  So I think setting the garbaged flag in this case
is TRT.

IOW, the garbaged flag of an obscured or iconified frame should only
be set after its redisplay flag is set.  I don't see any place for
further optimization; do you?



  reply	other threads:[~2014-03-24 17:36 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-10 20:37 Redisplay problems? Christian Lynbech
2014-03-13 20:34 ` Eli Zaretskii
2014-03-15 18:10 ` James Cloos
2014-03-18 10:48   ` Kan-Ru Chen (陳侃如)
2014-03-18 16:06     ` Eli Zaretskii
2014-03-18 16:17     ` Óscar Fuentes
2014-03-18 16:46       ` Eli Zaretskii
2014-03-18 16:53         ` Óscar Fuentes
2014-03-18 17:00           ` Christian Lynbech
2014-03-18 17:09           ` Eli Zaretskii
2014-03-18 21:18         ` Óscar Fuentes
2014-03-19  0:55           ` Kan-Ru Chen (陳侃如)
2014-03-20 17:59           ` Stefan
2014-03-20 19:37             ` Óscar Fuentes
2014-03-18 18:46     ` James Cloos
2014-03-19 16:26     ` martin rudalics
2014-03-19 18:04       ` Óscar Fuentes
2014-03-20  0:54         ` Stefan
2014-03-20  9:52           ` martin rudalics
2014-03-20 16:07             ` Glenn Morris
2014-03-20 19:23               ` martin rudalics
2014-03-20  4:46       ` Stefan
2014-03-20  9:52         ` martin rudalics
2014-03-20 12:45           ` Stefan
2014-03-20 14:01             ` Stefan
2014-03-20 17:22               ` Eli Zaretskii
2014-03-20 18:00                 ` Stefan
2014-03-20 18:19                   ` Eli Zaretskii
2014-03-20 18:12             ` Eli Zaretskii
2014-03-20 20:55               ` Stefan Monnier
2014-03-21  7:37                 ` Eli Zaretskii
2014-03-21 12:59                   ` Stefan
2014-03-21 16:12                     ` Eli Zaretskii
2014-03-21 19:31                       ` Stefan Monnier
2014-03-22  7:43                         ` Eli Zaretskii
2014-03-22 13:48                           ` Stefan
2014-03-22 13:53                             ` martin rudalics
2014-03-22 15:37                               ` Stefan
2014-03-22 14:29                             ` Eli Zaretskii
2014-03-22 15:42                               ` Stefan
2014-03-22 16:07                                 ` Eli Zaretskii
2014-03-22 18:43                                   ` Stefan
2014-03-22 19:08                                     ` Eli Zaretskii
2014-03-24  1:58                                       ` Stefan
2014-03-24  3:55                                         ` Eli Zaretskii
2014-03-24  8:32                                           ` David Kastrup
2014-03-24 16:58                                             ` Eli Zaretskii
2014-03-24 18:15                                               ` Stefan
2014-03-24 19:34                                                 ` Eli Zaretskii
2014-03-24 12:33                                           ` Stefan
2014-03-24 17:36                                             ` Eli Zaretskii [this message]
2014-03-24 18:07                                               ` Stefan
2014-03-24 19:30                                                 ` Eli Zaretskii
2014-03-24 20:43                                                   ` Stefan
2014-03-25  3:52                                                     ` Eli Zaretskii
2014-03-25 13:10                                                       ` Stefan Monnier
2014-03-26 15:28                                                         ` Eli Zaretskii
2014-03-27 13:55                                                           ` Stefan Monnier
2014-03-27 17:33                                                             ` Eli Zaretskii
2014-03-27 21:13                                                               ` Stefan Monnier
2014-03-28  7:15                                                                 ` Eli Zaretskii
     [not found]                                                       ` <<jwvzjkeqvcg.fsf-monnier+emacs@gnu.org>
     [not found]                                                         ` <<83d2h9yo5m.fsf@gnu.org>
2014-03-26 15:37                                                           ` Drew Adams
2014-03-22 19:13                                     ` Eli Zaretskii
2014-03-24  1:56                                       ` Stefan
2014-03-20 19:22             ` martin rudalics
2014-03-20 20:36               ` Eli Zaretskii
2014-03-21  8:03                 ` martin rudalics
2014-03-21  8:36                   ` Eli Zaretskii
2014-03-21  9:51                     ` martin rudalics
2014-03-21 10:29                       ` Eli Zaretskii
2014-03-22  2:00                         ` Kan-Ru Chen (陳侃如)
2014-03-22  2:37                           ` Stefan Monnier
2014-03-22  3:38                             ` Kan-Ru Chen (陳侃如)
2014-03-22  7:28                           ` Eli Zaretskii
2014-03-21 13:08                     ` Stefan
2014-03-21 16:19                       ` Eli Zaretskii
2014-03-21 19:42                         ` Stefan Monnier
2014-03-22  7:49                           ` Eli Zaretskii
2014-03-22 13:56                             ` Stefan
2014-03-22 14:50                               ` Eli Zaretskii
2014-03-20 21:00               ` Stefan Monnier
2014-03-21  7:41                 ` Eli Zaretskii
2014-03-21 13:02                   ` Stefan
2014-03-21 16:13                     ` Eli Zaretskii
2014-03-21 19:39                       ` Stefan Monnier
2014-03-22  7:47                         ` Eli Zaretskii
2014-03-22 13:49                           ` Stefan
2014-03-22 14:29                             ` Eli Zaretskii
2014-03-20 16:19         ` Eli Zaretskii
2014-03-27 21:17 ` Christian Lynbech
     [not found] <<m2bnxdg58p.fsf@defun.dk>

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=83k3bj1otm.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=christian@defun.dk \
    --cc=cloos@jhcloos.com \
    --cc=emacs-devel@gnu.org \
    --cc=kanru@kanru.info \
    --cc=monnier@IRO.UMontreal.CA \
    --cc=rudalics@gmx.at \
    /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).