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 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.

-----
Colin Meldrum, Franz Inc.	1995 University Avenue, Suite 275         
colin@Franz.COM (internet)	Berkeley, CA 94704                       
uunet!franz!colin (uucp)	Phone: (510) 548-3600; FAX: (510) 548-8253



Follow-Ups: References:

Main Index | Thread Index