Plugins are the main problem. They can be loaded/started while MP already shows basic home. If you select a window, which uses a certain plugin the contents are only shown when the plugin is ready. Need to check it in detail where it has side effects. Initial tests have shown that it might work this way with current master.Regarding startup time - @Scythe42 - words of wisdom?
Probably some additional checks or a general "Loading XML" would help greatly (darken current window/element, overlay with a Loading Animation like the Wait Cursor or just the part where it is showing its contents) is needed if a plugin could cause problems. Need to test in detail. No change to Skins needed. MP should handle this.
This can be done without changing the plugin architecture. Even though there is huge potential doing some overhaul here in the way MP handles them.
But on my current test builds with MP out of the Box and the following Plugins:
- Fanart Handler
- Latest Media Handler
- Moving Pictures
- TV Series
- My Films
- Online Videos
- Power Scheduler++
- Sub Central
- Trakt
- Info Service
- IMDB+
- Fritz Box Manager
- Browse the web
- Event Ghost Plus
- Weather Thingy by Micropolis (forgot the exact Name)
In addition the general delayed loading of some resources should be changed to background loading. This will make MP feel a bit snappier. This will happen with a replacement of the TextureManger/FontEngine.
Also this stuff should stay in memory. We are talking 4MB compared to 16MB on DefaultWide for example. No need to conserve GPU memory here. We hardly use any and the skins are still small anyway. There is no noteworthy difference in startup time by loading all GFX stuff directly. But as said: delayed loading should be switched to background loading.
Not loading/disposing stuff on demand helps a lot in general. It should make even TV Zapping a bit faster as well (there are some Load()/Dispose() involved if I am not mistaken). We have way too many plugins/windows defined as "delayed loading" anyway or freeing up there resources all the time and re-allocating them later.
Also Input Devices seems to cause some problems. There are some checks involved depending on what you activated that cause additional delay until it runs in a timeout. Haven't figured out which ones yet.
Last edited: