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.

posted @ 2013-01-26 16:58  opencoder  阅读(212)  评论(0编辑  收藏  举报