CLIM mail archive
[Prev][Next][Index][Thread]
Caching CLIM generated menus?
Date: Wed, 01 Jun 94 20:42:03 -0400
From: kanderso@BBN.COM
From: clarisse@iexist.att.com
Date: Wed, 1 Jun 94 17:51:10 CDT
To: swm@harlequin.com
Subject: Re: Caching CLIM generated menus?
Cc: clim@BBN.COM, bugs@franz.com
>
> The Sparc 10 I have generates such menus with 15 to 20 items in about
> 1 second. How big are your menus?
>
Our longest menus are 15 items long. After mouse-right selection, they
take 2-3 seconds to appear the first time. If all I do is a lot of
right selection, the lapse time seems to go down to 1 second. Even
1 second for these feels slow in this case.
In some cases the menu gets redisplayed twice (redrawn) adding another
1/2 second before the user will feel like selecting something that's not
a moving target, and this happens once out of every 3-5 selections.
Nothing ever changes in the menu except for the name of the presentation
object. I could live with a mode where when a command is added the
menu needs be recomputed.
Yes, our users find this kind of thing extremely annoying.
>
> The presentation menus can't really be saved, because there are many
> things that dynamically change that can affect the contents of the
> menu.
Things may be dynamic, but are they too dynamic to have nothing worth
caching? Even doing an equal hash on the menu items might help.
The hash table would get enormous, and the amount of data each entry
hangs on to is not exactly small. I will try to come up with
something an application can use on a case by case basis (where one
"case" is a presentation-type X input context), but that's the best I
can do. In general, CLIM just can't do this automatically, it's just
too expensive.
> You could always define a new mouse-right translator for your own
> type(s) that simply exposes a previously-generated menu. Then you
> have to worry yourself about fixing up the menu if it becomes "stale".
> (The staleness problem is exactly why CLIM doesn't do this.)
>
I'd like to try this:
could you elaborate on this briefly, how would I grab the first
menu, I can figure out how to reuse it after that I think. But I have no clue
how the CLIM menu gets generated at first. Or are you saying I should walk
down the applicable commands myself and generate something appropriate
for my application? I'll start with that.
Follow-Ups:
Main Index |
Thread Index