性能优化问题的本质
- 慢与快的问题
- 前提
- 稳定性:不能因优化造成稳定性变差
- 兼容性:不能因优化导致兼容性变差
- 性价比:优化要有度,考虑成本与复杂度
性能优化的流程
- 发现问题(什么平台、什么操作系统、什么情况下出现问题,一般问题还是特例问题等)
- 定位问题(什么地方造成的性能问题,我们要用什么工具、什么方法确定瓶颈)
- 研究问题(确定用什么方案处理这个问题,要考虑性能优化的前提)
- 解决问题(按问题研究的结论去实际处理,并验证处理结果与预期的一致性)
影响性能的四大类问题
- CPU
- GPU
- 带宽
- 内存
隐藏的几类小问题
- 功耗比
- 填充率
- 发热量
性能问题可能的情况
瓶颈可能性按由高到低的顺序排列
- CPU利用率
- 带宽利用率
- CPU/GPU强制同步
- 片元着色器指令
- 几何图形到CPU到GPU的传输
- 纹理CPU到GPU的传输
- 顶点着色器指令
- 几何图形复杂性
经常用的优化思路
- 升维与降维
- 维度转换,如空间与时间,量纲转换