On Fri, 2 Feb 2001, James Henstridge wrote:
> On Thu, 1 Feb 2001, Alexander Larsson wrote:
>
>> On Thu, 1 Feb 2001, Arjan J. Molenaar wrote:
>>
>> > > Hello,
>> > >
>> > > As soon as the drawing gets larger, we get response times of
>> > > more than 5
>> > > or 10 seconds for editing or moving e.g. lines or curves. The
>> > > whole thing
>> > > gets close to unusable.
>> >
>> > Not very strange, since the canvas you're drawing on is basically a
>> > pixmap...
>>
>> What do you mean? That might be the case for the AA view, but the normal
>> view should be pretty snappy. All drawing is done in the x-server.
>
> Actually, there is one thing that should be pretty easy to implement that
> would speed this up noticably -- exposure event compression.
>
> Currently, for every exposure event that is received, the appropriate
> parts of the canvas are dirtied and ddisplay_flush() is called to redraw
> that region.
>
> While this redraw is occurring, more exposure events may occur, leading
> to dia `falling behind' in its redraws when you cause many exposures
> (eg. opaque window drags over a dia window).
>
> It looks like most of these issues could be fixed by just altering
> ddisplay_flush() to simply set an idle handler that does what
> ddisplay_flush() currently does.
>
> This changes the behaviour of ddisplay_flush however (ie. calling
> ddisplay_flush no longer means that the diagram has been updated). I
> haven't looked too deeply to see if this will be a problem though
> (Alex?). If not, I will make this change and check it into CVS.
Sounds like a *very* good idea. I've also noticed the slowness of updates
on several occasions.
-Lars
--
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause) | Hårdgrim of Numenor
"I do not agree with a word that you say, but I | Retainer of Sir Kegg
will defend to the death your right to say it." | of Westfield
--Evelyn Beatrice Hall paraphrasing Voltaire | Chaos Berserker of Khorne