by drakinite » Mon Jul 13, 2020 12:19 pm
I think the most significant way that load time could be improved is by changing the order in which things are loaded.
Visual Studio Code is a good example of such. It prioritizes the loading of the UI and the state that it was in the last time it was opened (The files that are open). But all the back-end stuff (plugins, Git tree, and the IntelliSense code analysis stuff) loads asynchronously after the main UI has opened. So the user can immediately get started with editing files within the first 2 seconds; but it will take up to 10-15 seconds for that code analysis/assist stuff to show up.
Theoretically, MM could open the UI first; and have some sort of quickly-loading cache with the now playing list, and the library etc. that were from the last time MediaMonkey was open. Then after the Immediately Necessary stuff opens, all the complex back-end stuff can begin processing.
But goodness is it way easier said than done. I can only begin to imagine how complex a problem this would be to solve. To make a user interface load within 2 seconds that can be interacted with, and where music can be playee, before most of the core/database loads. I don't blame them if they don't want to attempt that idea, because it would probably introduce a ton of bugs and headaches.
(Though, it would definitely make the user experience a lot nicer.)
I think the most significant way that load time could be improved is by changing the order in which things are loaded.
Visual Studio Code is a good example of such. It prioritizes the loading of the UI and the state that it was in the last time it was opened (The files that are open). But all the back-end stuff (plugins, Git tree, and the IntelliSense code analysis stuff) loads asynchronously after the main UI has opened. So the user can immediately get started with editing files within the first 2 seconds; but it will take up to 10-15 seconds for that code analysis/assist stuff to show up.
Theoretically, MM could open the UI first; and have some sort of quickly-loading cache with the now playing list, and the library etc. that were from the last time MediaMonkey was open. Then after the Immediately Necessary stuff opens, all the complex back-end stuff can begin processing.
But goodness is it way easier said than done. I can only begin to imagine how complex a problem this would be to solve. To make a user interface load within 2 seconds that can be interacted with, and where music can be playee, before most of the core/database loads. I don't blame them if they don't want to attempt that idea, because it would probably introduce a ton of bugs and headaches.
(Though, it would definitely make the user experience a lot nicer.)