b-jesch / skin.estuary.modv2

A Skin for Matrix/Nexus
Other
95 stars 32 forks source link

Performance #141

Open quickmic opened 7 months ago

quickmic commented 7 months ago

Please disable/remove /skin.estuary.modv2/playlists/* by default. xsp are slow and just generates extra overhead if (like me) don't need them. Also disable the mandatory dependency embuary helper, same reason.

At least make it as opt-out. Currently I run a startup script to patch the skin...

Thanks

b-jesch commented 7 months ago

XSP Files in playlists folder are an essential part of the widgets of all media types in the home screen. They could not removed otherwise a big bunch of widgets will not be shown anymore. Same for embuary helper which is needed for calculation of several values (rotten tomatoes, metacritic), display of localized nextup episodes in home screen, extended info of cast/movies and also providing functionality of the "Jump to letter" function.

If You don't need this means not that other users would do not miss this features. I would bet that a storm of indignation will break out there. ;)

Also I don't think that an addon like embuary helper will break down the performance of the skin. Addons will be called (and loaded) via RunScript only if they are needed. This is easy to recognize if you look at the debug logs.

Sorry.

quickmic commented 7 months ago

This is easy to recognize if you look at the debug logs.

Yes, and that's were I see unnecessary queries. Also embuary helper is using deprecated API calls (they performance wise are slow calls). "nextup episodes" -> slow and unstable under load. I use my own nodes for that, however. Reporting all the issues with the helper would go to far.

XSP Files in playlists folder are an essential part of the widgets

If you use them. btw, do you know how much extra resources the xsp requires in my case? Gigabytes of ram and lot of extra cpu. Unusable on my Kodi boxes. I know it's an edge case (I have a really really large library).

As mentioned, maybe as opt-out? I can live with patching the skin and others may have to deal with the limitation.

b-jesch commented 6 months ago

For testing purposes I have some hardware: Android on a S905x3 (Tanix TX3, CoreElec), Raspberry 3 and a x86 player (J4205) both LibreElec and my Dev system which is of course out of rating (i7, 16 GB RAM, Linux). Database is on a NAS (30TB, 4000 Movies, 1200 Episodes). No one of the Kodi devices has any performance issues - except the Raspberry when playing x265 and/or high bitrate but this is not related to the skin.

As mentioned, maybe as opt-out?

Explain to me how this should be designed as an opt-out? Break down all extensions of this mod to an Estuary like skin? Why not using Estuary instead? Btw. Estuary is using the same playlists like this mod.

quickmic commented 6 months ago

Nevermind, forget it.

demod-au commented 6 months ago

Not trying to throw fuel on the fire, but I have stopped using the skin after many many years. I had been running Kodi and the estuary mod skin on an atom mini PC. About 1 yr ago I upgraded to a NVIDIA shield. I was getting many stutters even on 1080p. After months of trying everything to eliminate I saw someone mention they were having issues due to their skin (not this one). Anyway I went back to default estuary and haven't had an issue since. I put it down to some background tasks, but did not look into it further.

b-jesch commented 6 months ago

I will move the mandatory dependency of embuary helper to the optional addons. Some needed core functions (math operations) has moved to the helpers.py of the skin now.

The xsp files will not removed as soon no improvements/replacements are available. If this can be done by nodes replacements this have to implement in the skin so them are available/visible after installation without user interaction. Awaiting your pull requests.

quickmic commented 6 months ago

Thanks, I'll check if the playlists are still loaded in the background (even not used in my setup).

quickmic commented 6 months ago

Playlists are still loaded. Currently I can only suppress loading by deleting them. 3 screenshots attached. 1st and 2nd shows resources when I delete the playlists. 3rd is stock (playlists are loaded in the background). Compare the memory consumption -> That's the issue

es1 es2 es3

C4Wiz commented 1 month ago

Playlists are still loaded. Currently I can only suppress loading by deleting them. 3 screenshots attached. 1st and 2nd is shows resources if I delete the playlists. 3rd is stock (playlists are loaded in the background). Compare the memory consumption -> That's the issue

es1 es2 es3

sounds like you need to fork the skin and mod your own version like i have! then just cherry pick the commits that will benifit the skin you mod. simple as that!