Hi all,
I've been investigating how we run Crosswalk on Tizen for the past few
days and I would like to challenge the current model of sharing one
Browser Process for all the webapps.
I'm not convinced that the benefits (in terms of memory usage) are big
enough to justify the increasingly complexity of the source code related
to the Shared Browser Process in the Crosswalk tree.
Crosswalk should not be aware of any platform specifics like manifests,
sandboxing (smack labels), permissions, etc. This is how we do it
successfully for Android, Linux Desktop and Mac.
Therefore, tools like xwalkctl, xwalk-launcher, etc can still exist, but
as separated project outside the Crosswalk tree, since they are Tizen
specific, in the same way as the tizen-extensions-crosswalk.
This new xwalk-launcher could be a simple pre-loader (remember
maemo-launcher?) that would launch a self-contained instance of
Crosswalk (i.e. a Browser Process + Renderer Process) for each webapp.
With this change, we can can remove all the code from Crosswalk handling
manifests, permissions and shared browser process mode making the design
much more simple. We will also have the same execution model as we have
for Android, Mac and Linux, reducing the delta between the platforms we
support.
Here is the memory usage analysis I did with more details:
https://github.com/tmpsantos/crosswalk-process-model
I honestly don't think that with a pre-loader in place, the startup time
will be that different, but has to be tested. I invite everyone to join
me on this investigation, measuring launch time, performance, etc.
Cheers,
_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev