2023-06-25, 17:58
If you have
- Skin with a lot of widgets
- widgets that point to plugins rather than library
- low end hardware
Then on startup
- a plugin instance is started for every widget
- it's possible cacheToDisc of the menus is used sometime but possibly not after 24h?
- These are all started concurrently and so memory load is large and IO high. Low end hardware like firesticks can use USB and this is can be a big slowdown
- Often crashes occur due to hitting a memory ceiling.
I propose
- on startup using the disc cache of the menus (if cacheToDisc=True) regardless of how stale they are
- some menus don't change that much and something is better than waiting 1-2min for a fresh list
- assumes more than 2 menus are kept on disc. I've read before that only last and parent menus are cached? If so would need to cache more, even if not used in normal browsing.
- if the menus are stale then after showing the stale version request an update from the plugin in the background
- update the menu/widget once the background plugin has completed
- have a max number of concurrent addons. queue the requests so as not to max out memory. Can be a setting?
- Skin with a lot of widgets
- widgets that point to plugins rather than library
- low end hardware
Then on startup
- a plugin instance is started for every widget
- it's possible cacheToDisc of the menus is used sometime but possibly not after 24h?
- These are all started concurrently and so memory load is large and IO high. Low end hardware like firesticks can use USB and this is can be a big slowdown
- Often crashes occur due to hitting a memory ceiling.
I propose
- on startup using the disc cache of the menus (if cacheToDisc=True) regardless of how stale they are
- some menus don't change that much and something is better than waiting 1-2min for a fresh list
- assumes more than 2 menus are kept on disc. I've read before that only last and parent menus are cached? If so would need to cache more, even if not used in normal browsing.
- if the menus are stale then after showing the stale version request an update from the plugin in the background
- update the menu/widget once the background plugin has completed
- have a max number of concurrent addons. queue the requests so as not to max out memory. Can be a setting?