http://jingpin.jikexueyuan.com/article/30334.html
My Tips:
- Check drawcall cost and minimum runtime drawcall count
- Try 'Apply Mesh Batch' as much as possible
- Maximum early-z by force mesh render in correct order
- Select right 'Blend Mode' and 'Shading Model' for material
- Minimum texture and sampler count and texture size
- Move linear math operation from pixel shader to vertex shader, such as use customized UV
- Use LOD
- Minimum postprocess count
- Keep GPU state unchanged by minimum material count (reuse same material, same texture) etc
- Use complex shader for important mesh and try to use simple shader for as much meh as possible
- Reduce dynamic point count in 'Project setting' dialog
- Try to use 'Full Roughness'
- Too much texture sample will cost a lot of time