all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Phil Sainty <psainty@orcon.net.nz>
Cc: 23801@debbugs.gnu.org
Subject: bug#23801: 25.0.95; term.el redraws extremely slow with bidi support enabled, and large buffers
Date: Mon, 20 Jun 2016 17:28:43 +0300	[thread overview]
Message-ID: <83d1nc7x44.fsf@gnu.org> (raw)
In-Reply-To: <aa48a54f4fd8b365ad03505219a11c40@mail.orcon.net.nz> (message from Phil Sainty on Mon, 20 Jun 2016 11:41:17 +1200)

> Date: Mon, 20 Jun 2016 11:41:17 +1200
> From: Phil Sainty <psainty@orcon.net.nz>
> Cc: 23801@debbugs.gnu.org
> 
> > Can you reproduce the problem using 'ls'?
> 
> No, the majority of commands do respond quickly.
> 
> I suspect you'll need to do something which repaints the entire 
> terminal.

I don't understand what that means.  The output from "ls" repaints the
entire terminal as well, as it produces 1500 lines, much more than is
shown in the window.

Perhaps you mean cursor motion commands, i.e. escape sequences that
move the cursor up and down the screen, not just down?  But if that is
the reason, I'd expect to see its signs in the profile, which was not
the case, I think.  If you load term.el (not the .elc file!), and then
run your experiments under the profiler (profiler-start), what does
profiler-report produce?

> Both previous examples are drawing a background colour (before 
> eventually
> drawing some text over the top, which happens quickly). Perhaps there 
> are
> a ton of escape sequences being processed for the colours?

Probably, but I don't see how bidirectional display could slow down
this processing, because AFAIU these escape sequences are converted to
faces that are put on the displayed text, something that doesn't
involve the bidirectional reordering for display at all.

> I guess it simply depends on exactly what each application is
> doing. GNU Midnight Commander is a file manager. I think "mc"
> followed by "exit" should be a pretty easy/safe test for you to try?

My problem is precisely that I cannot figure out what could the
application be doing that would be so profoundly affected by
bidirectional display.

Does making the screen buffer (term-buffer-maximum-size) smaller help
in any way?





  parent reply	other threads:[~2016-06-20 14:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-19 10:04 bug#23801: 25.0.95; term.el redraws extremely slow with bidi support enabled, and large buffers Phil Sainty
2016-06-19 16:26 ` Eli Zaretskii
2016-06-19 23:41   ` Phil Sainty
2016-06-20  0:00     ` Phil Sainty
2016-06-20 14:35       ` Phil Sainty
2016-06-20 15:05         ` Eli Zaretskii
2016-06-21 18:47         ` Eli Zaretskii
2016-06-22 13:13           ` Phil Sainty
2016-06-22 15:27             ` Eli Zaretskii
2016-06-26  0:35               ` Phil Sainty
2016-06-26 16:45                 ` Eli Zaretskii
2016-06-26 16:45                 ` Eli Zaretskii
2016-06-20 14:28     ` Eli Zaretskii [this message]
2016-06-20 15:07       ` Phil Sainty

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

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

  git send-email \
    --in-reply-to=83d1nc7x44.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=23801@debbugs.gnu.org \
    --cc=psainty@orcon.net.nz \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.