| Summary: | Geolocate is too slow: it reads way too much data | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | fotograaf <fotograaf> |
| Component: | Geolocation-Workflow | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caulier.gilles, metzpinguin |
| Priority: | NOR | ||
| Version First Reported In: | 7.9.0 | ||
| Target Milestone: | --- | ||
| Platform: | Kubuntu | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/graphics/digikam/-/commit/2211b7b2b3a5db1b6c48f6e47f55f43023d6abef | Version Fixed/Implemented In: | 8.2.0 |
| Sentry Crash Report: | |||
|
Description
fotograaf
2023-02-12 19:23:56 UTC
In order to write metadata, the file must first be read. Regardless of whether it is Exiv2 or ExifTool, the file is always completely rewritten. The metadata of the file is also required when creating sidecars. The digiKam database contains only a selection of metadata. There won't be any major optimization here, but you could still have a problem. Which digiKam version are you using exactly? Is the Ubuntu digiKam Snap package used with the sandbox restriction? Please enable internal debugging in the digiKam Setup under Miscellaneous-> System and restart digiKam in the terminal. Perform a write operation on some files and post the output in the terminal. Maik I am using the Linux appimage, not snap. I see what you mean however, when adding tags this does not seem to work this way. They can be added with far less diskreads&writes. And at the end of the day, geolocation data is also just a tag. They seem to work different, tags and geolocation. It's like the tagging says 'ok, I know this file, add this tag and its XMP data, just write it in the XMP'. And when Geolocation is started, it's like it's a completely new program which has not seen these files ever before - and therefore has to read them from scratch. Again, in the main window when you tag a file, it's not completely re-read. So there the necessary information to perform tagging is present. Only the Geolocation module acts like it does not get this info. Extra info: It's much faster when files already have a geolocation. It doesn't read the entire file first. Debug: This is for a single file. Is it me or does it read the metadata (which the tagging module already has) 3 times?? ^[[34mDigikam::DMetadata::load^[[0m: Loading metadata with "Exiv2" backend from "/media/erin_only/home/Photos/Mobile/PhoneCamera/Camera/IMG_20140717_093012.jpg" ^[[34mDigikam::DMetadata::load^[[0m: Loading metadata with "Exiv2" backend from "/media/erin_only/home/Photos/Mobile/PhoneCamera/Camera/IMG_20140717_093012.jpg" ^[[34mDigikam::DMetadata::load^[[0m: Loading metadata with "Exiv2" backend from "/media/erin_only/home/Photos/Mobile/PhoneCamera/Camera/IMG_20140717_093012.jpg" ^[[34mDigikam::MetaEngine::save^[[0m: MetaEngine::metadataWritingMode 1 ^[[34mDigikam::MetaEngine::save^[[0m: Will write XMP sidecar for file "IMG_20140717_093012.jpg" ^[[34mDigikam::ItemLister::listSearch^[[0m: Search result: 33973 ^[[34mDigikam::MetaEngine::Private::saveOperations^[[0m: wroteComment: false ^[[34mDigikam::MetaEngine::Private::saveOperations^[[0m: wroteEXIF: true ^[[34mDigikam::MetaEngine::Private::saveOperations^[[0m: wroteIPTC: true ^[[34mDigikam::MetaEngine::Private::saveOperations^[[0m: wroteXMP: true ^[[34mDigikam::MetaEngine::save^[[0m: Metadata for file "IMG_20140717_093012.jpg" written to XMP sidecar. @fotograaf digiKam 8.0.0 is out. This entry still valid with this release ? Best regards Gilles Caulier Git commit 2211b7b2b3a5db1b6c48f6e47f55f43023d6abef by Maik Qualmann. Committed on 17/07/2023 at 20:52. Pushed by mqualmann into branch 'master'. under digiKam the geolocation tool now has a pure DB interface Move ItemGPS class so we can link against the MetadataHub. FIXED-IN: 8.2.0 M +1 -1 NEWS M +7 -7 core/libs/database/CMakeLists.txt R +25 -12 core/libs/database/utils/ifaces/itemgps.cpp [from: core/libs/database/item/containers/itemgps.cpp - 080% similarity] R +0 -0 core/libs/database/utils/ifaces/itemgps.h [from: core/libs/database/item/containers/itemgps.h - 100% similarity] M +6 -17 core/utilities/geolocation/geoiface/items/gpsitemcontainer.cpp M +0 -4 core/utilities/geolocation/geoiface/items/gpsitemcontainer.h https://invent.kde.org/graphics/digikam/-/commit/2211b7b2b3a5db1b6c48f6e47f55f43023d6abef |