CLIM mail archive
[Prev][Next][Index][Thread]
Re: reducing time overhead of text display (in 1.1) (now 2.0)
Date: Tue, 21 Dec 1993 19:13 EST
From: Colin Meldrum <colin@franz.com>
Date: Tue, 21 Dec 1993 16:42 -0500
From: Scott McKay <SWM@stony-brook.scrc.symbolics.com>
Subject: Re: reducing time overhead of text display (in 1.1) (now 2.0)
To: tk@research.att.com, SWM@stony-brook.scrc.symbolics.com
Cc: clim@BBN.COM
In-Reply-To: <19931221213843.1.tk@petzl.research.att.com>
Message-Id: <19931221214238.8.SWM@SUMMER.SCRC.Symbolics.COM>
Date: Tue, 21 Dec 1993 16:38 EST
From: Thomas Kirk <tk@research.att.com>
Date: Tue, 21 Dec 1993 16:13 EST
From: Scott McKay <SWM@STONY-BROOK.SCRC.Symbolics.COM>
Subject: Re: reducing time overhead of text display (in 1.1) (now 2.0)
To: tk@research.att.com, SWM@STONY-BROOK.SCRC.Symbolics.COM
cc: clim@BBN.COM
In-Reply-To: <19931221205517.0.tk@petzl.research.att.com>
Message-ID: <19931221211312.7.SWM@SUMMER.SCRC.Symbolics.COM>
Date: Tue, 21 Dec 1993 15:55 EST
From: Thomas Kirk <tk@research.att.com>
Date: Tue, 21 Dec 1993 12:31 EST
From: Scott McKay <SWM@stony-brook.scrc.symbolics.com>
Subject: Re: reducing time overhead of text display (in 1.1)
That doesn't cost much, really. The time-consuming parts are the
measuring of text size and keeping parent output records and scroll
bars up to date.
Scroll bar updating can indeed be expensive. There's an internal macro
in 2.0, clim-silica:inhibit-updating-scroll-bars, which can reduce output
time by >25%. However, it's not an external/documented macro, and the
Symbolics and Franz implementations aren't compatible.
Huh? I wrote this macro myself before Franz split away from everyone
else. How are they not compatible? What does the Franz one do now?
It takes a stream argument (from which it gets the viewport).
Boo! It doesn't even need one!
I guess you should simply write
(inhibit-updating-scroll-bars #+Franz (stream)
...)
since all the other implementations don't require a stream argument.
I cannot comment on any of the other vendor's CLIM 2.0 implementations.
However, Allegro CLIM 2.0 provides:
silica:inhibit-updating-scroll-bars (stream) &body body
This causes <body> to be executed with no updating of scroll bars after which
any scroll bars associated with <stream> are then updated. The idea being
that those scroll bars are updated only once after all the output is
performed rather than several times during the ouput.
So, is there a supported way to do this? If not, it would be useful if this
or something like it could be made part of CLIM's external interface.
The above function is not mentioned in the current CLIM spec but I think
that this should be part of the CLIM API. In the meantime you can assume
that the this will work on all Allegro CLIM 2.0 releases as described above.
Except for the fact that the the Genera CLIM 2.1 release just went out
to be mastered on Monday, I would have no particular objection to any of
this. I think that including INHIBIT-UPDATING-SCROLL-BARS as part of
the API is reasonable and, even though it is unnecessary, I have no
object to a stream argument either.
But as things stand, the following will have to do:
(silica:inhibit-updating-scroll-bars #+Franz (stream)
...)
References:
Main Index |
Thread Index