CLIM mail archive
[Prev][Next][Index][Thread]
CLIM keeping X server busy
Date: Wed 23 Mar 94 09:46:22-PST
From: Mabry Tyson <TYSON@ai.sri.com>
Mail-System-Version: <SUN-MM(229)+TOPSLIB(128)@AI.SRI.COM>
Clim 1.1 (Lucid on Sun)
It might be useful to know if your program is using UPDATING-OUTPUT
and REDISPLAY; that may (or may not) have some bearing.
My guess -- and it is just a guess -- is that likely candidates are:
(1) code the measures text size (the X client usually caches this
information locally, so it shouldn't cost a round trip, but there
might be some kind of CLIM or MacX problem)
(2) there is a function called something like WINDOW-DRAWING-POSSIBLE
and/or WINDOW-VISIBILITY. In later versions of CLIM, these
functions examine a locally cache piece of state, but there was a
time when calling these functions cost a round trip.
Perhaps some Lucite might comment.
I was running PPP and MacX to display X windows on my Powerbook and
ran a Clim application on my Sparc-10. The CLIM frame configuration
is basically a menu on the left with 3 equal-sized windows taking up
the rest of the screen (stacked vertically). A chunk of text gets
displayed in the top of those 3 windows (with scroll bars in both
directions). Only a few hundred characters of this text appear on the
screen at any one time. In the case of a 13K piece of text, it takes
some 40 seconds to display (running on a Sparc-10, displaying via X on
a different Sparc-10).
I was attributing the slowness to the slowness of CLIM in updating its
internal tables but then I noticed something strange. My Mac has a bar that
indicates the percentage of usage of the serial line (under MacX & PPP
this is an indicator of how many packets are flowing back and forth)
and it was pretty much pegged during the time that CLIM was recomputing
what to display (but nothing changes on the visible screen after the first
few seconds). The mouse was motionless (over a menu item) and nothing was
happening in other X windows. Obviously I expected lots of packets to
flow while I could see things changing on my powerbook screen but I was
surprised to see packets continuing to flow once the viewport had been
completely updated (but while the rest of the (invisible) CLIM display
was being updated).
It appears that CLIM was sending information to the X server even
though nothing visible was changing. I don't understand that. Are
the invisible portions of the display being cached on the X server?
(I would have thought that CLIM was responsible for updating the
display when you scroll or resize.)
Is this an inefficiency that maybe could be fixed? (I admittedly
don't know how much faster CLIM's recomputing what to display would
run if this were fixed. Maybe it isn't much.) The speed of CLIM in
displaying text is my biggest disappointment in CLIM.
-------
References:
Main Index |
Thread Index