fortheusers / hb-appstore

Homebrew App Store - GUI for downloading/managing homebrew apps
https://hb-app.store
GNU General Public License v3.0
1.05k stars 61 forks source link

Do something about long initial load #25

Closed vgmoose closed 4 years ago

vgmoose commented 5 years ago

The initial load takes a while because it has to fetch all icon/banner images for every app, and as more apps are added to the store this load becomes slower and slower.

Some possible solutions:

As of 2.0, it does re-use the http socket, which has helped a bit, but it's still too slow for the first load

vgmoose commented 5 years ago

I've tried downloading a zip of images, and it seems to be a wash in terms of extraction time vs download time.

I think the real mistake of the initial load was having banners be as large as they are, and loaded at the start. On Wii U, we've skipped the banners altogether and the initial load is much less frustrating.

As a rest of this, I think the only true solution to this issue is the third bullet note, downloading them "on demand" in a few worker threads, and upon visiting the app details page in the background.

This should also open up more flexibility like having multiple screenshots in the details view per app.

vgmoose commented 4 years ago

The initial loading screen has been completely removed thanks to @rw-r-r-0644 's NetImage changes! (merge commit)