CLIM mail archive


CLIM keeping X server busy

Clim 1.1 (Lucid on Sun)

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.


Main Index | Thread Index