darktable-org / darktable-org/darktable
tagging - speed with tag-collection and detach/attach
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.1k
- Forks
- 1.4k
- Avg merge
- 22h 14m
- Merged PRs (30d)
- 198
Description
In tagging.c we have:
static void _raise_signal_tag_changed(dt_lib_module_t *self)
{
dt_lib_tagging_t *d = self->data;
// when collection is on tag any attach & detach becomes very slow
// speeding up when jumping from tag collection to the other
// the cost is that tag collection doesn't reflect the tag changes real time
if(!d->collection[0])
{
// raises change only for other modules
And indeed when creating a tag-collection from tagging module using the contextual menu "go to tag collection" attaching or detaching a tag does not update the count of image for each tag in the collection module. Why not.
But if a tag collection is selected directly from the collection module itself the count update when attaching/detaching a tag is made and I have never experienced an unusable slowdown.
My proposal is that after 5.4 release the condition above is removed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tagging.c and inspect _raise_signal_tag_changed(), especially the collection condition described in the issue. Reproduce tag attach and detach through both the tagging module's "go to tag collection" path and a collection selected directly; done means tag counts update correctly without the reported slowdown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100