Application process models

To run applications, the QNX Web Browser supports the following application process models:
  • Standard model — Offers full process isolation for maximum reliability.
  • Shared model — Helps you achieve a smaller memory footprint and faster application launching.

Standard model

By default, the QNX Web Browser uses the standard application process model. In this model, the browser's content_shell command creates one set of the following processes for each application you launch:
  • Browser process
  • GPU process
  • Zygote process
  • Renderer process

For example, if you launch three applications, content_shell creates three sets of the above processes, for a total of 12 processes:

Standard application process model

The standard model consumes more memory than the shared model. On the other hand, it offers greater reliability by providing full isolation between application instances.

To launch applications under the standard application process model, you use the url argument of the content_shell command.

Shared model

In the shared application process model, the content_shell command creates only one set of the Browser, GPU, and Zygote processes, which all applications share. It then creates a separate renderer process for each application you launch.

For example, if you launch three applications, content_shell creates one set of the Browser, GPU and Zygote processes and three renderer processes, for a total of six processes:

Shared application process model

The shared application process model doesn’t provide the full process isolation that the standard model offers. However, it still isolates applications from each other while using less memory. It also launches applications more quickly, since it only has to start a renderer process for each application; the other three processes (Browser, GPU, Zygote) are already running in the background.

The QNX Web Browser uses the shared application process model when you launch content_shell with the --qnx-application-manager-pps-object=pps_object_path option. To launch applications under this model, a privileged process such as the HMI issues messages to the publish/subscribe object defined in the pps_object_path argument. See the Launching and Controlling Applications chapter for details.

Using a mix of application process models

You can run multiple instances of the QNX Web Browser at the same time, using a mix of application process models (i.e. one instance can use the standard model, another instance can use the shared model, etc.).

Note: Regardless of which application process model you use, the QNX Web Browser uses the renderer process model that you specify at the command line.