Datasheet

MATHS AND FLOATING P OINT SUPPORT 59
cannot run in parallel with other applications. Since many applications
for Symbian OS v9 require Symbian Signing, which verifies the general
behaviour and ‘good citizenship’ of the application, you need to stay
within self imposed limits. You should also consider advice and best
practice for memory usage on Symbian OS, including regular testing for
memory leaks, for example, by using debug heap checking macros like
__UHEAP_MARK. Wherever possible, de-allocate and reuse memory that
is no longer required to minimize the total amount your game needs.
Some developers create memory pools for managing their memory
allocations in order to minimize fragmentation of the heap, use memory
more efficiently, and often improve performance. A common approach
is to create a fixed-size pool for persistent data and then use a separate
pool for transient data, which is recycled when it is no longer needed in
order to minimize fragmentation.
You can find more information about working efficiently with limited
memory in most Symbian Press C++ programming books, and general
advice in
Small Memory Software: Patterns for Systems with Limited
Memory
by Noble and Weir, listed in the References chapter at the end of
this book. There is also a set of tools available for checking memory usage
and profiling code on Symbian OS. You can find more information about
these from the Symbian Developer Network (
developer.symbian.com
).
Disk space refers to the non-volatile shared memory used to store an
installed game, rather than the main memory used to store the game’s
modifiable data as it executes. Some Symbian smartphones, like the
Nokia N81 8 GB and N95 8 GB have large amounts of space (8 GB)
for internal data storage, but the typical internal storage size for other
Symbian OS v9 smartphones can be as limited as 10 MB. However, users
can extend their storage with removable drives such as mini SD or micro
SD cards or Memory Sticks. The drive letter for the removable media may
vary on different handsets and UI platforms (for example, the removable
media is sometimes the D: drive and sometimes the E: drive). You can
use the RFs::Drive() method to determine the type of drive, and
RFs::Volume() to discover the free space available on it.
When installing a game, there must be sufficient disk space to contain
the installation package for the game, and subsequently decompress
and install the game and its asset files. It is desirable to keep a game
footprint the storage space it occupies as small as possible if it is to
be downloaded over-the-air (OTA), since a very large game will be more
costly and slower to download over a phone network.
2.8 Maths and Floating Point Support
Games that require a number of physics-heavy calculations (for example,
those modeling acceleration, rotations, and scaling) typically use floating