From PC to Mobile: Things to Be Aware Of
•
•CPU Usage
–No floating point or integer division – avoid these
–Simplify physics, collision, visibility
–Small caches – avoid non-coherent algorithms
–Avoid CPU-assisted driver paths (lighting)
•
•System Memory Bandwidth
–Cell Phones and PDAs – low system memory bandwidth
–Monitor/Conserve System BW
•Use NVIDIA fixed-point math library
•Use fixed-point based physics


•Small I-Cache and D-caches (16k)
•Use vectors and arrays of data
•Avoid pointer chasing through small data types
•Be careful w/ C++ templates and code bloat (which can lead to I-Cache misses)
•Avoid
•Short- and Byte- type interfaces
•Non-Identity texture matrix
•API vertex lighting (OGLES or D3Dm or JSR184)
•Consider alternative lighting strategies
•Light maps
•Pre-baked lighting

•Limited bandwidth
•Contention
•Most games that push lots of data are bandwidth limited
•Essential to monitor and conserve system bandwidth