PowderPlayer icon indicating copy to clipboard operation
PowderPlayer copied to clipboard

Startup performance

Open crazyRaisy opened this issue 7 years ago • 4 comments

Hi guys,

thx for building this cool looking player based on an interesting technical approach.

Due to my validation of video players for our film production project I noticed that the startup speed of the player is maybe not as fast as it could be. I spend some time of investigating common video players startup time. On my machine the powder player took about 8 seconds to show up the UI. On the same machine the VLC player took only 0.4 seconds to start. I am aware that vlc is a native app while powderplayer is a hybrid web app that is mostly slower (because of API-wrapping, extra layers and other technical tradeoffs). Could you explain why is so slow? What can I do to improve the startup performance? What takes "so much" time at startup (Electron, WebChimera, underling VLC libs)?

I would use the player started quite often from an external program to watch short clips.

Here my benchmarks:

Startup time PowderPlayer: 7,95 sec avg (10 trials) Startup time VLC: 0,46 sec avg (10 trials)

Testmachine Intel Xeon E5520 2.27Ghz 32GB-Ram Fast SSD drive

thank you!

crazyRaisy avatar Feb 01 '18 16:02 crazyRaisy

What takes "so much" time at startup (Electron, WebChimera, underling VLC libs)?

Electron, which is based on Chromium. There's nothing that I know of that can speed it up.

jaruba avatar Feb 01 '18 17:02 jaruba

What about other apps? Atom or VSCode start many times faster and they are electron based too. Is it a question of loading all the dependend js files? What do you think about bundling all dependencies into a single file? May this can significant speed up the startup process?

crazyRaisy avatar Feb 02 '18 14:02 crazyRaisy

Those apps are most probably made with a more updated version of Electron, because of the use of (and limitations of) WebChimera.js that only has support up to a certain version of Electron we are currently stuck with an old version until more advances are made.

I doubt that merging all the code in one file will make a significant difference, I may be wrong though.

jaruba avatar Feb 02 '18 14:02 jaruba

This rewrite task, when done, should fix the issue with long app load times (and a lot more issues too): https://github.com/jaruba/PowderPlayer/issues/144

jaruba avatar Sep 10 '18 06:09 jaruba