对应四种模式:
F5 -- Performance Dashboad
F6 -- Debug Console
F7 -- Frame Debugger
F8 -- Frame Profiler
Activation Hotkey:自己设置来激活PerfHud响应。
全局选项:
Ctrl+T : 将所有texture切换到2*2 dummy texture
ctrl+D : 看一帧的深度复杂度(see a view of the depth comlexity of your frame buffer)
Performance DashBoard
+,- : 加快或减速程序(6* ~ 1/8)
Frame Debugger
左右,上下箭头来前进后退一帧
home 跳到第一帧
end 跳到最后一帧
pageUp,PageDown多跳几帧
左方有4种视图:
Textures:查看/修改当前draw call使用的贴图。
可以+,-缩放贴图大小。
鼠标悬停,会显示当前点的uv,和rgba。
此时,右方的视图是RenderTarget,可以采取同样的操作。
可以任意更换贴图,使用右键调出支持的调图形式。更换以后,可以F5切换回performance Dashboard观察结果。
Call List:查看d3d 设备的调用状态,其中D3d API Calls(Current)可以查看当前draw call下的所有调用。
Dependencies:
Perf Events:这个是自己插入的调试信息。
高级选项:
Frame Profiler
该模式对每个draw call给出了极其详细的性能信息,包括gpu使用,cpu使用等。一键即可分析程序的瓶颈所在。
高效的使用PerfHud
1. 总是检查你的程序是CPU bound还是GPU bound.
如果你的程序是cpu-bound,则gpu优化并不能使其加快。你可以简单的通过Performance Dashboard来快速的得出结论。
第一种方式是检查视图的Frame Time和Driver Time线条。如果你的程序是Cpu-bound,你将看到黄线(“Frame Time”)与红线(“Driver
Time”)有很大的间隔。
另一张方法是按“N”来忽视draw calls,如果帧率没有明显上升,那么显然该程序是cpu-bound。(很遗憾,快捷键似乎未起作用,没能验证)
这种情况系,应该使用cpu 性能分析器,比如intel的VTune或者Amd的CodeAnalyst。
2. 使用Frame Debugger来解决渲染错误(Rendering Errors)
3. 使用Frame Profiler来解决性能问题。
PerfHud使用小结
最新推荐文章于 2021-05-29 17:29:55 发布