[rkward-devel] Request for feedback on plot history

Thomas Friedrichsmeier thomas.friedrichsmeier at ruhr-uni-bochum.de
Sat Sep 4 12:00:29 UTC 2010


Hi,

gee, this whole affair sure is more complex than I would have imagined!

I did not have a look at everything, so far, but here are a few issues and 
comments:

On Saturday 04 September 2010, Prasenjit Kapat wrote:
> All right, the current implementation records and replays liberally.
> In some cases, you can "see the multiple replay processes." If it
> feels too sluggish, then we will have to drop the plot history feature
> for this release.

One performance problem that I have hit occurs once the history limit is 
reached. Then, if you create a new plot (all on a single device!), what 
appears to happen is that the current plot is replayed. As far as I 
understand, this comes from remove(), and there pop.and.update(). This will 
always redraw plots in all current device windows, while actually the only 
windows that would really need an update are those whose plots have actually 
been popped. For the others it would be enough to just update the internal 
list of history positions. Not sure, how to do this, best, but I think this is 
the most severe performance problem ATM.

Again, when looking into this, it might be worth considering whether a plot 
that has been popped out of the history should really be cleared from any 
other devices that show it. Perhaps it should rather gain the status of a new 
plot, instead, which has not yet been placed in the history. The use case I'm 
thinking of is this:
1) User creates a fancy plot in one device, wanting to keep it.
2) User opens a second device (so as not to overwrite the other plot), and 
starts creating a different plot in it. Since it's not that easy, it takes the 
user a good number of attempts to arrive at the desired result for this plot. 
Naturally, each attempt will take up a slot in the history...
3) As the history limit is reached, the plot created in 1 is popped out of the 
history, and is gone for good!

While talking about all this, it would probably be a good idea to offer some 
configuration option for turning off the whole history mechanism in case of 
unforseen problems. Again, I'm not sure, how to implement this, best.

> I have kept the "replace plot" feature because of trellis plots.

All right. I suggest an additional "insert plot" for the wishlist, then. Use 
case: User wants to modify a plot, but wants to be able to revert to a 
previous state in case of mess up. So he "inserts" the previous state into the 
history, then proceeds with modifications. 

But of course this can wait until everything else works as expected.

On duplicated devices: I think we touched the subject before, but I don't 
remember the conclusion, and I can't find the mail right now: Is it really a 
good idea to treat the duplicate as the same history position? Isn't the point 
precisely to have a logically separate copy (i.e. like a regular new plot)? 
Somewhat similar to the issue of how to treat plots which have been removed in 
a different device.

> Currently there are a lot of output messages. Lets keep it for the
> testing phase and I'll remove them before the release.

Yes.

Assorted other things:
- Occasional "Error in gType[[n]] : subscript out of bounds" subscript out of 
bounds in gType[[...]]" while printing the plot properties. I'll try to find a 
way to reproduce this, when I have more time.
- I once got errors during replay() after playing around a lot. Will give you 
more information if/when I find a way to reproduce this.
- I don't quite understand the meaning of "replacePositions" / "previous 
positions". Is this really needed? When exactly does this differ from the 
current history positions?

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/rkward-devel/attachments/20100904/8eeac472/attachment.sig>


More information about the Rkward-devel mailing list