SUMMARY Rotating 10 images 180 degrees takes almost 4 minutes STEPS TO REPRODUCE 1. Select a number of images (>1) to rotate in thumbnail view 2. Select rotate 180 degrees (2x <CTRL><SHIFT><Right arrow>) OBSERVED RESULT For rotating of 10 images 3'50" was needed. Subsequently rotating 11 images over 90 degrees took 1'12". Rotating a single image happens instantly. EXPECTED RESULT Instant effect SOFTWARE/OS VERSIONS Windows: 10 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION I performed a database cleanup with all options selected and a rebuild of changed and non-cataloged fingerprints before executing the reported rotations. I use a fast computer (AMD Ryzen 9 5900X, GeForce RTX 3070, 32 GB RAM and SSD with I/F PCI Express 4.0). The used database is SQLite.
What kind of images are they, JPG, TIFF, PNG, etc.? Which setting for rotation do you use exactly in the digiKam settings? Maik
My computer is far from the performance of yours, I need about 4 seconds for 10 JPG images with active lossless rotation. Maik
Created attachment 142633 [details] Rotate settings The images are 5,782x3,946 sized jpg images. Rotation settings are attached.
Well, my images are also 6000x4000 px. We need a DebugView (Microsoft program) log with an active debug variable, if you rotate images, as described here: https://www.digikam.org/contribute/ Otherwise we won't be able to help, because a short test under Windows 11 in a VM shows no abnormalities either. Candidates are always anti-virus programs that can block digiKam. Maik
Created attachment 142635 [details] DebugView log Hi Maik, Please find attached the DebugView log. Regards, Jan
Hmm, I tested it with MySQL, it seems to be a SQLite lock problem as several processes want to write to the DB at the same time. With SQLite, however, only one write process can take place at a time. Please make a new DebugView log with more from the beginning and the end. Maik
Created attachment 142636 [details] Log of an entire run Please find attached a more complete log. DebugView was started prior to Digikam and closed after Digikam was closed.
You did not set the debug environment variable in the Windows environment editor. We only see warnings in the log, not debug messages. A test here with SQLite shows no problems for me either. We may have to reduce the number of threads because your processor has a lot. Gilles, can you reproduce the problem? Maik
What debug environment variable should I set?
Look at this page : https://www.digikam.org/contribute/
That is what I did, but I couldn't find info about the environment variable.
On Windows, application text output is not sent to the terminal. You need to install DebugView tool to capture text traces generated by digiKam. Before to start digiKam and DebugView, from your Windows System Info panel, add a new user variable with these criteria: name: "QT_LOGGING_RULES" value: "digikam*=true"
Created attachment 142652 [details] Debug log with environment variable set Now with user environment set as requested. I noticed that the first time I did a rotate it happened in a few seconds, rotating an new group of images after that gave much delay.
Created attachment 142653 [details] Environment variable I see no difference with the previous logs. To be sure: environment variable as attached.
Your variable value is wrong, the star * is missing. digikam*=true Maik
Hi Maik, Few days ago, i explored the XNView forums and i discovered an entry explaining a lock conflict between the application and Windows file explorer. Typically, depending of codec installed on the system (to support video thumbnails for ex), a file lock is never free by explorer and client application is blocked a while. This is typically a low level lock don by the system, which cannot be fixed in client application. I will try to found this entry... Gilles
The Xnview MP is based on Qt internally. Download the binary tarball, and look the contents : qt*, qtav, ffmpeg, etc...
Created attachment 142665 [details] DebugView log with system variable set Now a lot bigger log file.
First, do you actually need the monitoring of the albums to external change at runtime of digiKam? If no, disable the option in the Setup Collection page in the digiKam Setup. Then it looks like the first scan of a collection is not yet completed. You should wait, no longer runs a process in the status bar, this can take on big collections hours. During these scans, the SQLite database is very busy and can hardly serve other tasks. Maik
The next problem are 24 CPU cores leading to a traffic jam in the SQLite DB. Maik
I disabled monitoring of the albums to external change at runtime of digiKam and restarted. I then flipped 3 images in thumbnail view. This took a minute or so.
Would it make sense to change databases to solve this issue?
If I do the same operations on images that are on my NAS, which has a much lower access speed than the computer memory, the operation works as expected.
I have run Digikam with one core active only, but the behaviour stayed the same.
I also tried to change to "Rotate by only setting a flag" instead of changing the content. Although the thumbnails now rotate immediately, Digikam still freezes for quite some time.
The problem cannot be reproduced here and has not yet been reported again. At the moment I have no idea why the rotation leads to a database lock problem for you. Again the question, which antivirus software do you use? Maik
I use Windows Defender only. Switching it off makes no difference.
I have migrated to MySQL and that looks like solving the issue. However, I encountered a different (much smaller) thing: if I rotate 6 images the thumbnails in thumbnail view of 5 or so images will rotate as well correctly, but one will not. After some switching between differnet views and forlders eventually it will rotate as well. The thumbnails above the image view are all correct immediately.
Hi Jan, I suspect that refresh thumbnail can be perturbed by the locking file under Windows. This problem have been already seen previously. Just press F5 to refresh album thumbnail manually. I close this file now Gilles Caulier