Qtopia Home - Classes - Hierachy - Annotated - Functions - Licenses - Reference

Qtopia Boot Stages

Introduction

Qtopia loads a variety of components and objects during its startup process. This document identifies and describes these stages and gives a rough estimation of the amount of time that is used up by these boot stages. This part of the documentation is specific to the Qtopia's Phone edition.

Boot Stages

The boot stages in the following table can be found in $QPEDIR/src/server/main.cpp:initApplication().

Boot stage Subcomponent Subcomponent detail Proportion of boot time in %
initialize environment (*) 1.1
cleanup QCop directories (*) < 0.1
ServerApplication (*) QApplication constructor 2.8
QPEApplication constructor setup Qtopia data directory < 0.1
install of qMsgHandler() < 0.1
Keypad or Touchscreen mode 0.4
QPEApplicationData() 0.4
load TextCodecs 1.5
load ImageCodecs 1.3
setup default fonts 0.1
initialize application (initApp()) 0.5
load font renderer 2.8
load translations 2.3
install Qtopia's screensaver 2.3
QPEMenuToolFocusManager() 0.3
install storage monitor 0.2
obtain current PowerStatus < 0.1
create power alerter 1.3
apply light settings 0.2
setup KeyFilter < 0.1
refresh Time zone information (*) 2.9
initialize keyboard (*) < 0.1
load and show SplashScreen(*) 8.6
create Server (*) create Phone GUI (PhoneLauncher) load translations < 0.1
create PhoneHeader (*) 6.0
create ContextLabel (*) < 0.1
create HomeScreen(*) 3.5
create launcher menu (*) 6.2
create BatteryMonitor (*) < 0.1
show HomeScreen (*) < 0.1
create LoadingWidget (*) 1.1
start PhoneServer (*) 4.2
create PhoneSignal & PhoneAccessories < 0.1
load theme (*) 26.5
create DocumentList (*) 1.4
start AppLauncher < 0.1
setup StorageInfo < 0.1
start TransferServer < 0.1
start IrServer 7.3
start PackageHandler < 0.1
preload applications < 0.1
Login to qpe server (*) 0.2
start SysFileMonitor (*) < 0.1
initialize AlarmServer (*) < 0.1

The following steps are performed once the server has entered its event loop.
Boot stage Subcomponent Proportion of boot time in %
DocumentList load application links (*) 1.1
load document links (*) 0.1
Phonelauncher update background (*) 0.8

Description of Boot Steps

Synchronous steps

Initialize Environment

This step initializes essential environment variables such as TZ and LANG. Furthermore it determines the rotation and QWS display (specified as cmd line arguments and/or environment variables) that is used by Qtopia.

Cleanup QCop Directory

This step will delete all qcop files in Qtopia's data directory.

ServerApplication

ServerApplication is the servers QPEApplication object.

Time Zone Information

Qtopia maintains a list of default time zones. These time zones are considered to be the most frequently used zones in Qtopia. If the list of default time zones is empty it will be initialized with six standard time zones (New York, Los Angeles, Oslo, Tokyo, Hong Kong and Brisbane).

Keyboard Initialization

This stage will setup the keyboard layout used by Qt/E.

SplashScreen

During Qtopia's startup phase Qtopia presents a SplashScreen. This step will load and start the SplashScreen(-animation).

Server

The server is the main widget of the qpe server.

Server Login

This stage will perform the pin authentication if required. Qtopia Phone will not unlock the keys without a valid authentication.

SysFileMonitor

The SysFileMonitor (see QPE_SYSTEM_SYSFILEMONITOR) polls /etc/mtab and various other status files in order to keep track of new Storage Cards added to the system. If the HotPlug system is Qtopia-aware this monitor is not necessary. Qtopia's StorageInfo class propagates these changes throughout Qtopia.

AlarmServer

Steps Executed by Event Loop

DocumentList

The DocumentList class is a main helper class for the launcher view.

PhoneLauncher

Boot-up Time Improvements

Image Scaling

A large proportion of Qtopia's startup time is spent on theme loading. This means a lot of pictures have to be loaded and potentially scaled. The actual size of these images depends on the screen size and the size attributes specified by a particular theme. If a pictures doesn't have the correct size it will be scaled before the first use. The scaling process can last up to 15% of Qtopia's boot up time. Therefore it is recommended to provide these pictures with the correct size. Qtopia's default themes are optimized for a screen size of 176x208 pixels and should not require any resizing during loading. In order to assist in the process of identifying these scaling operations Qtopia 2.1.2 or later will print a debug statement when the theming framework is scaling an image.


Copyright © 2005 Trolltech Trademarks
Qtopia version 2.2.0