emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Display slowness that is painful


From: Kenichi Handa
Subject: Re: Display slowness that is painful
Date: Fri, 03 Feb 2006 10:50:24 +0900

In article <address@hidden>, address@hidden (Kim F. Storm) writes:

> It seems to be because it needs to merge_face with the escape glyph
> for each character -- and that takes extra time.  Below is a patch to
> speed up the processing for this specific part of the problem.  With
> the patch, redisplay time for file2 seems to be approx 4 x redisplay time
> for file1.

I think another reason of the slowness is this part (in
set_iterator_to_next):

    case GET_FROM_DISPLAY_VECTOR:
[...]
      /* Restore face of the iterator to what they were before the
         display vector entry (these entries may contain faces).  */
      it->face_id = it->saved_face_id;

      if (it->dpvec + it->current.dpvec_index == it->dpend)
        {
[...]
          /* Recheck faces after display vector */
          it->stop_charpos = IT_CHARPOS (*it);
        }
      break;

Because of this, it seems that handle_stop is called for
every character after an eight bit character.  Isn't it
possible to tune it?  First of all, why should we recheck
faces after display vector?

---
Kenichi Handa
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]