Description
Description of the new feature / enhancement
Improved preview performance. Far better performance when renaming thousands of files at once.
When PowerRename UI is active, the preview routine (which activates when the user modifies the text box contents) should not operate on all selected files. Instead, it should only operate on files until the UI area is filled. Once the UI is filled with examples, it should stop processing.
An alternative solution would be to process the preview routine in a separate thread with lower priority.
Scenario when this would be used?
When renaming many (>1000) files with PowerRename, only the items visible in the UI would be iterated and processed. Once the UI fills up with examples, any remaining files would be completely ignored until the Apply button is pressed.
Supporting information
When thousands of files are selected, PowerRename's UI becomes extremely unresponsive, and can even stop responding. This happens even on a very high-end machine, with 64 cores. Each time the user modifies the contents of the UI text box, it must iterate and process all of the selected files to populate the preview area, which can become very problematic when thousands or hundreds of thousands of files are selected.
Since the user can only see a few items in the UI previews, it makes more sense to only process the files that are visible. Additionally, since only the previews are processed during UI changes (no actual changes occur until Apply is pressed), it should be relatively easy to modify the preview routine to just stop once all of the visible items are processed.
If it is difficult to determine which items are visible in the UI during processing, perhaps a user preview-limit can be applied through options/settings.
It may also be viable to improve performance with multi-threading. When the user modifies the text box, it should trigger a background process with low priority to populate the previews, rather than halt execution of the UI's process until completed. In such a case, it may be acceptable to process all of the files. Although this still seems like overkill for the preview routine when thousands of files are selected.
Activity