unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Eli Zaretskii <eliz@gnu.org>
Cc: ofv@wanadoo.es, emacs-devel@gnu.org
Subject: Re: Emacs and Gnome Canvas
Date: Thu, 15 Jul 2010 16:24:27 +0200	[thread overview]
Message-ID: <4C3F1A1B.1040106@swipnet.se> (raw)
In-Reply-To: <8339vlgcax.fsf@gnu.org>



Eli Zaretskii skrev 2010-07-15 14.27:
>
> Inserting one character moves all the attributes after it by one
> character position, doesn't it?
>

Yes, but that is something the Canvas can do by itself.

>> You wouldn't have to do redisplay all the time just in case
>> something changed (like now)
>
> ?? We don't _do_ redisplay now all the time.  We _enter_ redisplay
> every time Emacs is idle, but if nothing's changed, we exit it almost
> immediately, after testing a bunch of flags.
>

That is the same thing to me.  With the Canvas design, you would not need to 
check, once it is done Canvas does all repainting as needed.

>> if you propagated the change the whole way when it happened.  This
>> is a big difference on how Emacs works now.
>
> The way it looks, parts of the current redisplay code will have to run
> whenever there's a change, any change, to some buffer or some related
> data structure.  If the parts affected by these changes are not
> displayed, or become not displayed before the GTK+ idle handlers run,
> propagating those changes would be a waste of CPU cycles.

No, they need to be done anyway sometime, it is no waste.  If the text isn't 
displayed, the attributes are nvertheless set up correctly for the time when 
the text is to be displayed later (by scrolling for example).  The Canvas just 
have to scroll things in view and the display is up to date.  If they never 
come into view, then there is a waste of CPU cycles.

Now in Emacs you postpone the update until it is in view.  With the canvas you 
would do the update at once, but you then don't have to bother with it 
anymore, for example if it comes in to view later.  It should be about the 
same CPU-cycles, just distributed differently.

>
> So you win some and you lose some.  Not sure about the balance.
> Basically, scrolling should be very fast (assuming it is done entirely
> on the Canvas side), but I'm not sure if everything else won't be
> significantly slower.
>

If done right, I don't think it would be slower.  But someone has to do the 
code before we know.

	Jan D.




  parent reply	other threads:[~2010-07-15 14:24 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-13 19:02 Emacs, QT and Cairo Was: Re: Efforts to attract more users? Stephen Eilert
2010-07-13 19:29 ` Chong Yidong
2010-07-13 19:51   ` Chad Brown
2010-07-13 20:48 ` Jan Djärv
2010-07-13 22:30   ` Emacs, QT and Cairo Chad Brown
2010-07-14  1:39     ` Stephen J. Turnbull
2010-07-14  2:32       ` Óscar Fuentes
2010-07-14  7:29     ` Eli Zaretskii
2010-07-14 18:37       ` Chad Brown
2010-07-14 20:45         ` Eli Zaretskii
2010-07-14 21:24           ` Óscar Fuentes
2010-07-15  6:55             ` Emacs and Gnome Canvas (was: Emacs, QT and Cairo) Eli Zaretskii
2010-07-15  7:46               ` Emacs and Gnome Canvas Jan Djärv
2010-07-15  7:53                 ` Jan Djärv
2010-07-15  8:36                   ` joakim
2010-07-15  8:40                   ` Eli Zaretskii
2010-07-15  8:50                     ` Jan Djärv
2010-07-15  8:38                 ` Eli Zaretskii
2010-07-15  8:48                   ` Jan Djärv
2010-07-15  8:59                     ` Eli Zaretskii
2010-07-15  9:29                       ` Jan Djärv
2010-07-15 10:24                         ` Eli Zaretskii
2010-07-15 10:54                           ` Jan Djärv
2010-07-15 12:27                             ` Eli Zaretskii
2010-07-15 14:18                               ` Óscar Fuentes
2010-07-15 15:14                                 ` Eli Zaretskii
2010-07-16  6:33                                   ` Miles Bader
2010-07-15 16:00                                 ` Chong Yidong
2010-07-15 16:27                                   ` Óscar Fuentes
2010-07-15 17:06                                     ` Eli Zaretskii
2010-07-15 17:48                                       ` Óscar Fuentes
2010-07-15 18:06                                         ` Eli Zaretskii
2010-07-15 21:27                                           ` Óscar Fuentes
2010-07-16  8:17                                             ` Eli Zaretskii
2010-07-16 14:24                                               ` Óscar Fuentes
2010-07-16 15:19                                                 ` Eli Zaretskii
2010-07-16 16:07                                                   ` Óscar Fuentes
2010-07-16 18:43                                                     ` Eli Zaretskii
2010-07-16 21:21                                                       ` Óscar Fuentes
2010-07-16 23:44                                                         ` Chad Brown
2010-07-17  0:08                                                           ` Óscar Fuentes
2010-07-17  7:57                                                             ` Eli Zaretskii
2010-07-17  8:34                                                               ` Andreas Schwab
2010-07-17  9:10                                                                 ` Eli Zaretskii
2010-07-17  9:40                                                                   ` Andreas Schwab
2010-07-17 10:23                                                                     ` Eli Zaretskii
2010-07-17 13:49                                                                       ` Óscar Fuentes
2010-07-17  7:27                                                         ` Eli Zaretskii
2010-07-17 13:42                                                           ` Óscar Fuentes
2010-07-17 15:27                                                             ` Eli Zaretskii
2010-07-17 21:53                                                               ` Óscar Fuentes
2010-07-18  1:42                                                               ` Miles Bader
2010-07-18  2:45                                                                 ` Óscar Fuentes
2010-07-18  8:06                                                                   ` Chad Brown
2010-07-18 14:43                                                                     ` Óscar Fuentes
2010-07-21  8:34                                                             ` Stefan Monnier
2010-07-22 14:26                                         ` Stefan Monnier
2010-07-15 17:22                                     ` Chong Yidong
2010-07-15 18:02                                       ` Óscar Fuentes
2010-07-15 22:10                                         ` Stephen Eilert
2010-07-16  7:52                                           ` Eli Zaretskii
2010-07-16  2:14                                   ` YAMAMOTO Mitsuharu
2010-07-16  7:33                                     ` Jan Djärv
2010-07-16  9:52                                       ` Eli Zaretskii
2010-07-16 10:15                                         ` YAMAMOTO Mitsuharu
2010-07-16 10:39                                           ` Eli Zaretskii
2010-07-16 12:42                                             ` Jan Djärv
2010-07-17  3:50                                               ` YAMAMOTO Mitsuharu
2010-07-17  8:33                                                 ` Jan Djärv
2010-07-17  8:38                                                   ` YAMAMOTO Mitsuharu
2010-07-17  9:18                                                     ` Jan Djärv
2010-07-17  9:25                                                       ` YAMAMOTO Mitsuharu
2010-07-17 10:26                                                         ` Jan Djärv
2010-07-18  3:51                                                           ` YAMAMOTO Mitsuharu
2010-07-18  7:10                                                             ` Jan Djärv
2010-07-18  7:45                                                               ` YAMAMOTO Mitsuharu
2010-07-18  9:06                                                                 ` Jan Djärv
2010-07-19  0:50                                                                   ` YAMAMOTO Mitsuharu
2010-07-17  1:00                                             ` YAMAMOTO Mitsuharu
2010-07-17  1:40                                               ` YAMAMOTO Mitsuharu
2010-07-17  8:04                                               ` Eli Zaretskii
2010-07-17  8:25                                                 ` YAMAMOTO Mitsuharu
2010-07-16 12:21                                         ` Jan Djärv
2010-07-16 10:01                                       ` YAMAMOTO Mitsuharu
2010-07-16 12:26                                         ` Jan Djärv
2010-07-16 14:05                                           ` Davis Herring
2010-07-16 17:38                                             ` Jan Djärv
2010-07-17  1:12                                               ` YAMAMOTO Mitsuharu
2010-07-17  7:14                                                 ` Eli Zaretskii
2010-07-17  7:31                                                   ` YAMAMOTO Mitsuharu
2010-07-17  8:12                                                     ` Eli Zaretskii
2010-07-17  8:32                                                       ` YAMAMOTO Mitsuharu
2010-07-15 14:24                               ` Jan Djärv [this message]
2010-07-15 14:35                                 ` Eli Zaretskii
2010-07-15 15:16                                   ` Jan Djärv
2010-07-15 15:20                                     ` Eli Zaretskii
2010-07-15 17:14                                       ` Jan Djärv
2010-07-15  9:20               ` Andy Wingo
2010-07-15 18:41               ` Emacs and Gnome Canvas (was: Emacs, QT and Cairo) Dirk-Jan C. Binnema
2010-07-15 21:51                 ` Emacs and Gnome Canvas Óscar Fuentes
2010-07-15 22:21                   ` Bruce Stephens
2010-07-27 21:24     ` Emacs, QT and Cairo Stefan Monnier
2010-07-27 21:36       ` Chad Brown
2010-07-28  3:05         ` Eli Zaretskii
2010-07-14  8:59 ` Emacs, QT and Cairo Was: Re: Efforts to attract more users? YAMAMOTO Mitsuharu
2010-07-14  9:41   ` Emacs, QT and Cairo David Engster
2010-07-14  9:56     ` Jan Djärv
2010-07-14 13:50     ` Drew Adams
2010-07-14 14:14       ` David Engster
2010-07-14 14:28         ` joakim
2010-07-14 15:41   ` Emacs, QT and Cairo Was: Re: Efforts to attract more users? Chong Yidong
2010-07-14 16:17     ` joakim
2010-07-14 18:04       ` Jan Djärv
2010-07-15 23:15 ` Andrew W. Nosenko
2010-07-16  7:41   ` Jan Djärv
2010-07-16 10:24     ` Andrew W. Nosenko
2010-07-16 12:36       ` Jan Djärv
  -- strict thread matches above, loose matches on Subject: below --
2010-07-17 19:02 Emacs and Gnome Canvas grischka

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=4C3F1A1B.1040106@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ofv@wanadoo.es \
    /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).