Description
I use a CDN-backed server with a massive 60k+ item library!
Wholphin is much slower than the web client.
For slow CDN-based servers with massive libraries, a few optimisations help.
I haven’t had a look at Wholphin code but those are a few tips. Some points maybe relevant, others probably won’t be.
1 - Reduce “fields” queried via API when loading items for Home Screen rows to get a faster response.
homeRowFields = "ImageTags,BackdropImageTags,ParentBackdropImageTags,SeriesPrimaryImageTag"
defaultFields set (Overview,
Genres, People, Studios, MediaStreams, MediaSources, Chapters, ProviderIds,
ratings) download too many unnecessary items and slows rendering down.
This should apply to every single row on the Home Screen and can also be applied to other views to make them faster (like movie or episode views)
2 - lazy load rows, async.
3 - Avoid aggressive prefetching, do more on demand loading instead.
4 - Avoid full library scanning for things like discover & recommendations. When scanning, ensure it runs on a non-blocking separate thread & lazy render and make it on demand.
Reproduction steps
No response
App Version
1.0
Server Version
10.11.10
Device
No response
Logs
Description
I use a CDN-backed server with a massive 60k+ item library!
Wholphin is much slower than the web client.
For slow CDN-based servers with massive libraries, a few optimisations help.
I haven’t had a look at Wholphin code but those are a few tips. Some points maybe relevant, others probably won’t be.
1 - Reduce “fields” queried via API when loading items for Home Screen rows to get a faster response.
homeRowFields = "ImageTags,BackdropImageTags,ParentBackdropImageTags,SeriesPrimaryImageTag"
defaultFields set (Overview,
Genres, People, Studios, MediaStreams, MediaSources, Chapters, ProviderIds,
ratings) download too many unnecessary items and slows rendering down.
This should apply to every single row on the Home Screen and can also be applied to other views to make them faster (like movie or episode views)
2 - lazy load rows, async.
3 - Avoid aggressive prefetching, do more on demand loading instead.
4 - Avoid full library scanning for things like discover & recommendations. When scanning, ensure it runs on a non-blocking separate thread & lazy render and make it on demand.
Reproduction steps
No response
App Version
1.0
Server Version
10.11.10
Device
No response
Logs