Graphics Render Optimization
Here are some works great render optimization ideas:
1) Cull the back surface;
2) Use view frustum culling;
3) Less draw call number;
4) Batch those meshes that with the same materials;
5) Use simpler shader, consider carefully lighting in vertex shader or pixel shader;
6) Smaller texture or use mip-maps, hardware supported compression;
7) Use multiple instance instead of draw one mesh several times;
8) Use vertex buffer objects or vertex array;
9) Separate the the dynamic part from the static part when design the vertex attributes data structure, use vertex index and make the array become continues;
10) sort the render state before rendering, mainly the texture;
11) Less rendering pass (or texture stage) will be better;
12) Less pixel overlap shadering. For example, you could render the sky box after all solid objects already rendered;
13) Smaller frame buffer or render target. Use a smaller frame buffer for transparent objects and post-processing if possible.
14) Disable Multiple-Sampling, 如关闭反走样!
15) Disable the Gamma correct;
16) Disable the dynamic shadow;
17) Use light maps instead of the dynamic lighting;
18) Limit the maximum skin character bone number; Or pre-bake the skin animation into vertex animation.