On Mon, 16 Apr 2007, D John Anderson wrote:
I'm working on using notifications to eliminate redrawing.
The basic idea is to look at the change, see if it affects the widget, and if
not, don't draw anything. Also, if it is a simple change, i.e. deleting or
adding a item, make a small change to the widget instead of recreating the
widget from scratch as we now do.
Considering the table. If an item is removed from the table we could delete
that single row instead of recreating the entire table from scratch as I do
now. However, when an op "remove" comes through or a "refresh" happens for an
item that was deleted there is no indication what the item's index was.
Unfortunately, this means we can't optimize the drawing for any item that is
deleted.
I'm curious to know how hard it would be to include information about the
location of the item being deleted. I suspect that most of these cases will
occur in background sharing of subscribed collections.
I don't have that information as the item's past location in an index readily
available. Of course, indexes are versioned too and if you know the UUID of an
item and the version you want to ask about, that index location could be
determined, at some performance cost if that cost is less than doing what is
currently being done then something could be done here.
Andi..
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev