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

Speed up loading large folders #2534

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
Draft

Speed up loading large folders #2534

wants to merge 13 commits into from

Conversation

jeremypw
Copy link
Collaborator

@jeremypw jeremypw commented Feb 26, 2025

Addresses #1794

This PR uses two strategies for speeding up loading/model creation

  • Add the initially loaded files in one hit in the done-loaded signal handler instead of individually
  • Create the file-treerow map asynchronously after the model has loaded.

These strategies decrease the time that the UI is frozen significantly, particularly for ListView.
For IconView the effect is less marked because the majority of the time is taken in actually laying out the view; this largely occurs inside Gtk.IconView and still freezes the UI. There is little that can be done about this until IconView is replaced.

To load and display 20,000 small files on my system
ListView: 22 seconds -> 3 seconds
IconView: 52 seconds -> 29 seconds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

1 participant