Graphics is about making things look good. Optimization is about making things look good with the least computational effort. Optimization is especially important for mobile devices that have restricted computing power and memory bandwidth to save power.
Optimization is the process of taking an application and making it more efficient. For graphical applications this typically means modifying the application to make it faster.
A low frame rate means the application appears jumpy. This gives a bad impression and can make applications such as games difficult to play. You can use optimization to improve the frame rate of an application. This makes using the application a better, smoother experience.
A consistent frame rate is typically more important than a high frame rate. A frame rate that varies gives a worse impression than a relatively low but consistent frame rate.
Optimization can have different objectives, such as:
Increase the frame rate.
Make content more detailed.
Reduce power consumption.
Use less memory bandwidth.
Use fewer clock cycles per frame.
Reduce memory foot print.
Reduce download size.
Different optimizations are often interrelated. For example, you can use frame rate optimization as a means to save power. You do this by optimizing the application for a higher frame rate but limiting the frame rate to a lower level. This saves power because the GPU requires less time to compute frames and can remain idle for longer periods.
Optimizing to reduce the memory footprint of an application is not a typical optimization, but it can be useful because smaller applications are more cacheable. In this case, making the application smaller can also have the effect of making the application faster.
This guide primarily concentrates on making the application frame rate higher. Where appropriate, other types of optimization are mentioned.