GUI performance (XXX)
For feeds with many dependencies 0launch-gui blocks for several minutes or even indefinitely before downloading the feed files. The same happens while downloading the implementations. Analysis showed that all available resources are used to update the graphical representation of the download status (a GTK TreeView) over and over again. The analysis was conducted using:
* System based on Intel Atom D525 @ 1.8 GHz
* RHEL 6
* Python 2.6.6
* pygtk 2.16.0
* gtk 2.18.9
* 0install 0.53 and 1.0
* A feed with 137 dependencies
The current implementation always updates the whole TreeView. I propose to update only the part that is currently visible. This way the resources needed for the update no longer depend on the number of feed dependencies. Please see the attached patch for a possible implementation. The patch applies cleanly to the current head of the master branch (
2989c874562b7920b3da60993666716c2d6b0c4e). With the patch applied the gui works as expected and with no loss of functionality.