Skip to content

PowerRename Preview Performance #28629

Open
@RobertMtx

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-QualityStability, Performance, Etc.Needs-TriageFor issues raised to be triaged and prioritized by internal Microsoft teamsProduct-PowerRenameRefers to the PowerRename PowerToy

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions