Some Definitions


Let’s go over some terms that are often used but rarely explained.

The CPU (central processing unit) carries out instructions on a computer program. The clock rate on mobile devices varies from 550 MHz to 1.5 GHz.

The GPU (graphics processing unit) is a high-performance microprocessor dedicated to manipulating computer graphics. It performs geometric calculations faster than drawing directly to the screen when using the CPU. Its efficiency is measured by how many millions of triangles are processed per second (mt/s). On mobile devices, GPU efficiency ranges from 7 mt/s to more than 28 mt/s. Another important factor is the fill rate, measured in megapixels.

OpenGL ES 2, a subset of the OpenGL standard, is an open source low-level interface between software and graphics acceleration. It was designed for mobile devices, and is supported on the Android platform for Froyo and later versions, the iPhone 3GS and later versions, the iPod, and various Samsung and Nokia devices.

The buffer is a region in memory that holds temporary data before it is moved to another location.

Rasterization is the process of taking a vector graphic (primitives or mathematical values such as points, lines, and curves) and converting it to a raster image (a data structure made of pixels). In our context, it just refers to drawing pixels, even if it is just copying them from one place to another.

Scene compositing is the process of creating a scene out of multiple pixel buffers, or textures. The scene is reorganized as elements move around. It is sometimes called surface compositing.

A pixel is the smallest screen element in a raster image. Vector graphics render with subpixel precision to prevent aliasing.

A transformation matrix is a rectangular array of numbers. It is used to store the display object’s presentation properties.

A display tree is a data structure that organizes elements in a hierarchical fashion. A display list is a tree structure made of display objects. The stage is the top element. Its children, also called nodes, are different types of display objects, some of which are containers that can also have one or more children. Being aware of the objects’ relationship is essential to your success in using hardware acceleration.