DID YOU notice an improved performance with the latest release?

Started by Mario, October 03, 2018, 07:16:10 PM

Previous topic - Next topic

Mario

The 10.x release contains quite a number of changes in the way IMatch manages categories and collections internally.
This leads to less blocking (several part of IMatch compete for database access) and improves features like UI startup time, Category View and Panel, the file window (e.g. scrolling) measurably. Especially for larger databases with many categories, formula-based categories, file window layouts which include the category bar etc.
.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

StanRohrer

2018.10.6 is much more responsive on the user interface. I can leave category panels open deep and be very much more responsive than before. I was getting frustrated with my move to 2018 due to the user lag in some keywording operations. Thanks for the fixes!

Aubrey

I think it is more responsive.
I was travelling last week and using my old DELL M4400 machine. I was surprised with how well IMatch worked on this machine - it's usually slightly sluggish (but very useable) compared to my desktop machine.

Aubrey.

PaulS

It took me a while to check this out, but here is my feedback.  I have about 29k files in my database and have both IMatch and my image files on an SSD.

I use a number of IMatch's excellent options for creating categories extensively.  This includes 1) data driven categories based on metadata, 2) data driven categories based on category formulas, and 3) formula categories.

In a previous version, I noticed a lot of category tree display issues where it would refresh/ flash several times per second.  The changing display made it difficult to select a category.  I believed the issue was that too many of the data-driven categories were set to Automatically Update, so I set most of them to manual update and this seemed to help.

The latest version now seems to be much more responsive (as others have commented) for normal navigation between categories.

However, there is one instance where the performance is not good (I'm not sure if this also occurred in previous versions, but I am now noticing it).  This happens when I select Refresh Data for a data-driven category that is set to manual update.  A dialog box pops up briefly showing that the category is being updated and then disappears, which makes me think that the update is complete.  However, the category tree then is mostly unresponsive for 10 to 15 seconds.  I say mostly because I am able to immediately select another category, however, I have observed two issues:
    1) even though I can select a new category, the file window does not switch to this category for 10 to 15 seconds
    2) the context menu is unresponsive when right-clicking for 10 to 15 seconds.  It does eventually display, however a user might try to right- or left-click several times while it is not responding, and so there could be risk of unintended selection

Here is how it could be reproduced:
    1)  Create a data-driven category that is set to manually update, e.g. based on file extension {photools.com::IMatch\101200\file.ext\0}
    2)  Right click on the category and choose Refresh Data
    3)  Immediately after the dialog box disappears, try to select another category or try to right-click on a category

If the delay is due to the data-driven category update running in the background, then this is not an issue for me - I can wait.  However, it would be good if the dialog box would remain visible and the user prevented from selecting another category.

I have not tried to set these categories back to Automatic Update but may try at some point to see if this might now be possible with the improvements in the latest release.

If it would help, I could provide the full Debug Log file.  It shows that the category update took only 328ms, but at some point later there is a 16 second gap between entries.

Mario

While a dialog box is open, Windows blocks the IMatch user interface. Dialog boxes are 'modal' under normal conditions.

If you manually trigger a data-driven category refresh, IMatch performs this instantly. While this happens, the dialog box with the progress dialog is shown so you know how IMatch is progressing.
For example, I have a 60,000 files test database. When I force it to refresh all data-driven categories (including the IMatch Standard Categories) this dialog is displayed for five or six seconds on my PC.

When the dialog closes, IMatch has to refresh the user interface. Which may mean to completely reload both the Category View and the Category Panel (because many categories have changed, have been added or removed). This is a lot of work to do.

I have identified a situation where the Category Panel and the View may become unresponsive to clicks for 10 seconds (or more, for this 60K database).
After some digging (meaning: Spending half of my Sunday on this  :-X ) I figured out that the user interface toolkit queries the text for all nodes in the tree, even  nodes not visible (because the parent node in the tree is collapsed). For my sample database with 20,000 categories this required not only to retrieve and format the text for each node (even when not needed) but also to calculate each of the 20,000 categories to get the file counts. And this all at once so the clever background asynchronous calculation algorithms could do nothing but calculate each category directly.

I have now modified how this is processed and the trees are now responsive within a second or two after the manual category recalc dialog has closed.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

PaulS

Thanks for looking into this.  I'm glad you were able to find a solution, but sorry it took so much of your day.