Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make icon searching asynchronous #800

Merged
merged 3 commits into from
Nov 6, 2023
Merged

Make icon searching asynchronous #800

merged 3 commits into from
Nov 6, 2023

Conversation

Meorawr
Copy link
Member

@Meorawr Meorawr commented Oct 17, 2023

This reworks the icon browser and its search functionality to be an asynchronous process that'll perform the search in small incremental steps whenever the filter text is changed.

The visual design of the icon browser is mostly unaltered with the exception of a new progress bar to display the search progress.

WowT_i1WoVTSqWv.mp4

With this change we no longer need to iterate over the entire icon list provided by LRPM at all on addon load, which should resolve the few reports of script timeouts in that area. Currently the searching is quite conservative and only tests 500 icons per frame, which feels fast enough for the most part and seemingly has no measurable impact on framerate.

This reworks the icon browser and its search functionality to be an
asynchronous process that'll step in smaller incremental steps
whenever the filter text is changed.

The visual design of the icon browser is mostly unaltered with the
exception of a new progress bar to display the search progress.
@Meorawr Meorawr added this to the 2.6.0 milestone Oct 17, 2023
@Meorawr Meorawr requested a review from Solanya October 17, 2023 22:59
@Meorawr Meorawr self-assigned this Oct 17, 2023
@Solanya Solanya merged commit bab439d into main Nov 6, 2023
1 check passed
@Solanya Solanya deleted the feature/async-icon-search branch November 6, 2023 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants