Speed at which Sailfish apps launch

I am running an XA2 with 4.3.0.12.

Why is it that Sailfish apps are slower to launch than Android apps?

For example WhatsApp launches much faster than the Sailfish messages app.

The native browser is slower than Opera to launch.

The camera app is slow to launch also.

Not all Sailfish apps are as slow as Messages and Camera but still in my opinion slow for native apps.

I would have expected the native apps to be at least as quick as the Android apps.

5 Likes

I’m a bit curious…

I’m looking into SFOS to get out of the spying from Google on my communication.

Is there any other reason to use a non Android OS? I’m not asking to be rude but to know more!

How do you reason with yourself if you have the same reason as I and then use WhatsApp who lets Facebook spy on you in the same way as Google does?

1 Like

My impression (and it is nothing more than that) is that apps have become slower to launch in the last couple of releases since sandboxing (sailjail) has been implemented. Maybe those native apps, specifically jolla supplied apps such as camera, email, etc launch slower because they are now sandboxed and other native apps (e.g. community provided) apps are quicker because they are not yet sandboxed.AFAIK I think that from release 4.4 all apps have to be sandboxed, so we might find that the launch times for all of them then slow down - but this is pure speculation on my part and others may have a different explanation.

3 Likes

My old Jolla C seems faster than the XA2.

I wondered if part of the issue was due the need to use Android OS “blobs” for the XA2 to enable the Sailfish apps interact with the hardware whereas the Jolla C is Sailfish from the ground up.

You ask a good question but this thread isn’t about the merits of Sailfish V Android.

Start another thread and I’ll answer there.

1 Like

You used to be able to edit preload.qml in /usr/share/booster-*/ directories to add extra elements sacrificing memory for speed (some quick testing allowed to cut the speed of launching clock app by 1/3 or so iirc just by adding all elements it uses into a new booster). Sadly the desktop files now no longer pass the booster used to the invoker? Looks like sailjail is involved so maybe the booster handling has been moved there (you can see the whole mechanism behind app boosting/preloading here: https://github.com/sailfishos/mapplauncherd)

1 Like

I was thrilled to see how much slower launching native applications is on Sailfish compared to BlackBerry 10. On BB10 native Cascades (i.e. Qt 4.8) apps start instantaneously, it doesn’t even take one second, and that despite dated, much slower hardware. Old dual-core 1.5 GHz Blackberry Z10 from 2013 launches applications considerably faster than 8-core 2.something GHz Xperia X10 II from 2021. Why is it that annoyingly slow?

2 Likes

I wonder if bundling the qml files with the app qrc style might get around that problem? It doesn’t ‘seem’ to make an difference (harbour-fahrplan2 has bundled into the binary qml). All apps seem to require about 3 seconds to load. hmmmm.

1 Like

The difference from 3.4 to 4.4 is also notable. from under/about a second to 3 seconds on average. pita.

Sailjail makes it even worse. An app with Sandboxing=Disabled starts much faster than when sandboxing is enabled… I really miss BB10 Passport in this regard.

2 Likes

Sorry, it’s obviously sailjail :slight_smile: I have whole lxc servers that boot faster than an app on SFOS :frowning:

2 Likes

I’ve also noticed that it depends on how QML pages are handled in an application. For instance, if I use e.g.

Qt.resolvedUrl("pages/somepage.qml")

rather than

Component { SomePage { } }

which prevents preloading it, then in case of multiple such pages there is a noticeable difference in app launching time. Obviously, at the cost of then having to wait a little bit longer for switching between pages in the application, as they get loaded only when opened.

I don’t know how in BB10 launching applications was boosted, but it was really exceptionally fast. The most complex applications were loading within one second. BB10 had an option to show a title badge by an app while it was loading and no application was using it because loading times were too short to even notice it :grinning_face_with_smiling_eyes:

1 Like

Yeah, slow start up times have been plaguing SFOS forever.

Ah, good that you mentioned it. I have something with mixed methods now that I can use as a test to see what difference the resolveUrl method makes! Thanks!

Is there any way to use that for initialPage if i want to set values in it?
For PageStack that is easy, but here i don’t obviously see how to do it.
Not that i really see any performance difference in SeaPrint startup time.
Maybe the 10 III is just a bit too fast to notice…

Using qrc should in theory be even slower as the qml files would need to be uncompressed before execution (though that’s probably negligible), but the bigger problem with qrc is end user losing the ability to tweak/fix apps easily on their own on the phone (quite a few old apps on openrepos written for sfos 1.x/2.x have easy fixes in comments to get them to run on 3+). Invoker seems to be still there so tweaking the booster contents could help. (then again it seems to work only from second run? Just tried with camera, first run 2.5-3 seconds not counting the view finder, subsequent runs <1 sec, disabling sandboxing seems to have no effect, maybe some other caching is in effect hmm)

I was thinking that they would be directly available in ram instead of needing to be loaded. But you’re right that it would make tweaking a pita.

Ok, so this was adding the files to /usr/share/booster etc? Just looking at the browsers booster, it alludes to memory footprint reduction through compilation… Hmmm

No, this was just testing disabling sandboxing in the .desktop file, but it has no effect, even now hours later it still starts in ~1sec vs first startup of close to 3sec (on XIII) maybe silica-media booster is not loaded until first app start due to sailjail? Something is not working right, but 1 sec start is pretty fine I guess (the viewfinder still takes a couple of seconds, but the initial load seems fine)

Ah, sorry. I got ya. So an argument for leaving apps open. Until you exhaust ram :slight_smile:

Just open the app once and close (still won’t help with capturing quick photos with how long the viewfinder takes to load plus the issues where any movement prevents capture), long loading times were surely there on jollaC, on XIII most apps for me open in 0.5-1sec