emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs and Gnome Canvas


From: YAMAMOTO Mitsuharu
Subject: Re: Emacs and Gnome Canvas
Date: Sat, 17 Jul 2010 17:25:17 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Sat, 17 Jul 2010 11:04:31 +0300, Eli Zaretskii <address@hidden> said:

>> As I mentioned, row overlapping is handled in rather an inefficient
>> way (by calling draw_glyphs for three times if the row is
>> overlapping and overlapped).  With double-buffering, we can draw
>> whole the background of the specified area (possibly containing
>> multiple rows) at once and then draw the whole foreground
>> afterwards.

> Someone should profile the current redisplay and see which part(s)
> of it take most of the processing time.  Without such a profile, we
> are making the classic mistake of optimizing in a wrong place.

I'm not saying that the current code (using Xlib for drawing) is slow.
Even if expose_window is not so optimized, it doesn't matter that much
because it is currently not so frequently called.

If we stick to Xlib, there would be no need to modify the current
drawing model.  But if we switch to cairo, straightforward translation
of Xlib drawing calls to cairo counterparts does not give a
satisfactory result.

I've just remembered another problem.  If we use the current
expose_window code for the printing support, it produces inefficient
PDF.  Notably, multiple drawings of the same text for handling
overlapping rows causes duplicated text in PDF.  That is, if you copy
a text from a PDF viewer, you'll see a repetition of the same text.

                                     YAMAMOTO Mitsuharu
                                address@hidden



reply via email to

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