工具反馈是性能优化中重要的一环
侵入性
如果测量工具是侵入式的将会降低应用的性能。
从侵入性最低的在虚拟机上运行,到需要hook到需要插入代码修改程序。
工具的类型
Profiler
- 总时长
- 自身耗时
- 调用次数
- 等待时间
System Monitor
System Adjusters
禁用光栅化、锁定CPU频率
Timer使用101
在使用计时器的时候需要注意计时器的精度,在应用中往往很难拿到精确的计时器时间。
然后要注意共享的计时器,会引入错误,就和android的共享内存一样。
最后要注意消耗比较大的计时器。在获取计时器的时候如果做了其他的操作会导致实际的结果不正确。
Code Instrumentation
尝试利用基础工具来自己实现工具。可以帮助你在没有任何好用工具的时候来服务你。
简单计时
最基础的测量方法
分层分析(Hierarcial Profiling)
和UE4的stats差不多
Counters
一个事件的调用次数
Reports
把数据收集起来生成报告。
常用的工具
Intel VTune
强大的CPU分析工具。GPU的话可以用他家的GPA。
Windows上的Microsoft PIX
主要用来看DX API的调用情况