Page 1 of 1

Refresh Column when hashes are involved needs work

Posted: 02 Aug 2022 04:16
by crawfish
v 23.40 (lifetime), Windows 11

This started within the last few months, but Refresh Column causes the program to go unresponsive for long periods of time when computing hashes on long lists of large files. I used to be able to copy partial results to the clipboard while the operation was ongoing to reduce the chance of losing hours of work, but that's become very difficult to do reliably, as I now have to time it just right. Also, if I'm doing this on search results, switching away from the tab loses all the work, which is a big reason I learned to save partial results. Finally, pressing Esc to abort the operation causes the window to immediately go white and the title bar to display (Not Responding), which lasts for many seconds if done on, say, a 4 GB file, and when the window returns to the normal color, "refreshing column... (ESC to stop)" is still displayed, it appears it's moved on to the next large file, and pressing Esc has the same effect. I just endured this for a test setup of four files, and at the end, the MD5's were displayed for all four; IOW, there's no way to abort the operation, except maybe to time switching to another tab just right.

To begin fixing these problems, Refresh Column could be moved to a separate thread, and any interruption of that thread should be prompted. Potentially lengthy individual file operations like hash computation would have to threaded as well or at least cooperatively multitasked. It would also be nice if the MD5 column was filled in as results are computed. It used to be that I could drag the scroll bar while the operation was ongoing, and the ones that had been computed would be displayed when brought into view, but this new unresponsiveness prevents even this.

Re: Refresh Column when hashes are involved needs work

Posted: 02 Aug 2022 11:58
by admin
Are you sure this was different in earlier versions? I'm not aware of any changes related to this. You can test earlier versions here: https://www.xyplorer.com/freezer.php

Re: Refresh Column when hashes are involved needs work

Posted: 02 Aug 2022 16:48
by crawfish
I do not recall the long periods of unresponsiveness. In any case, it could really use the improvements I suggested. While it's usable for this purpose, it's inconvenient that the program goes dead for long periods of time, and it requires a degree of caution not to accidentally lose hours of computation.

Another example of the unresponsiveness concerns minimizing the window to get it safely out of the way, then restoring it by clicking on its taskbar icon to assess its progress. There can be delays of many seconds for those actions to take effect. Or, if the windows restores right away, it can take many seconds for the window to refresh, and then there's no good way to check progress, because the scrollbar is unresponsive. So there's just lots of consequences to the modal per-file operations on large files.

Re: Refresh Column when hashes are involved needs work

Posted: 02 Aug 2022 18:00
by admin
OK, made some tests and I agree: it needs work. Currently I don't have the time for the best solution, but the next beta will get you out of the unresponsiveness, and will let you stop the hash calculation at any point by pressing ESC.

Re: Refresh Column when hashes are involved needs work

Posted: 03 Aug 2022 23:52
by crawfish
Appreciate that!

I hope some day it will be possible to implement a prompt for when the column refresh is to be canceled for any reason. I use XYplorer to help maintain a hash database for my data drives, and recomputing the hashes can take the better part of a day. I'm always very careful not to interrupt it, but it still makes me nervous!

Re: Refresh Column when hashes are involved needs work

Posted: 15 Sep 2022 07:34
by crawfish
Just tried this in 23.60, and it's much improved. Thanks.