GNOME Bugzilla – Bug 316048
Attaching Tag to Many Images Hangs UI
Last modified: 2007-11-22 04:15:31 UTC
If you select many pictures and attach them to a tag, F-Spot freezes up for quite a while until all the photos are tagged. A new dialog box with a progress bar would be good if tagging more than N pictures. A friend who did some simple usage testing for me today ended up clicking on the Tag Icon in the context menu that she wanted to attach to the pictures several times during the course of the probably 15 seconds the UI was hung.
*** Bug 321883 has been marked as a duplicate of this bug. ***
Created attachment 55056 [details] [review] Patch to speed tagging way up This patch adds methods to the Db class that allow transactions to easily be started, commited, or rolled back. I then wrap the loops that tag or untag all selected photos within a transaction, which speeds up the tagging/untagging process by about a factor of 40 on my machine. Other database-heavy actions (like importing) should be wrapped in transactions too.
The database bottleneck part of the problem is fixed in CVS, but now, if the user has the option of saving the metadata to their files set, it still takes a very long time to attach a tag (but not unattach a tag for some reason...). So, it seems that either a progress bar should be displayed, or probably better, saving the tags to file should happen in the background.
unattach wasn't taking a long time because it wasn't removing the tag. The removed problem is fixed now so everything will be slow if the save metadata option is selected. The save operation now takes place at a central point though so it shold be possible to queue these to a thread and simply show progress.
Created attachment 72268 [details] [review] Patch that shows progress dialog when mainpulating tags of more than 5 photos Patch that takes care that the UI stays responsive when adding/removing tags form a group of photos. The patchs displays an progress dialog if more than five photos are altered and meta data is saved to the photos. Please as this is my first patch tell me what could I do better for the next version.
There is another solution to this bug. The JobScheduler introduced by bug #337724 solves the problem in a more elegant but far more complex way, IMO.
*** Bug 346394 has been marked as a duplicate of this bug. ***
Hasn't this become obsolete, since the introduction of JobScheduler? BTW I agree about the progress bar, as even the db inserts may take long (up to one minute) on my (DAMN) pc.
I agree, lets close this bug. If there is a need for a progress/status on the JobScheduler then lets create a new one for that problem.
The inserts into jobscheduler still hangs the ui. I believe the progress bar would be a lot helpful in user perspective.
Ok, a progress bar indicating how much longer until the JobScheduler has received all the work orders :) I think we also need a status bar for how many remaining jobs JobScheduler have. This should be another bug though.