繁体   English   中英

图形分析

[英]Graphics Profiling

我有一个应用程序,下降到10fps左右。 我使用xperf对其进行了分析,结果显示我的应用程序只使用了20%的CPU,而我的方法都没有使用超过20%的预期数量。

这似乎表明fps的大幅下降是因为显卡无法跟上渲染帧,导致我的程序在赶上时停止...

有没有办法分析显卡是什么,并找出我的程序告诉它做什么减慢速度,以便我可以尝试提高帧速率?

要调试/分析图形,请尝试Nvidia PerfHUD

NVIDIA PerfHUD是一款功能强大的Direct3D应用实时性能分析工具。

还有一种名为'GPU PerfStudio'的ATI解决方案

GPU PerfStudio是一种实时性能分析工具,旨在帮助调整DirectX 9,DirectX 10和OpenGL应用程序的图形性能。 GPU PerfStudio显示实时API,驱动程序和硬件数据,可使用极其灵活的绘图和条形图机制进行可视化。 被分析的应用程序可以在本地或通过网络远程执行。 GPU PerfStudio允许开发人员实时覆盖关键渲染状态,以便快速检测瓶颈。 自动分析窗口可用于识别图形管线的各个阶段的性能问题。 使用GPU PerfStudio不需要特殊的驱动程序或代码修改。

您可以在此处找到更多信息和下载链接:

另外,请查看有关FPS的这篇文章:

FPS与帧时间

基本上它说的是从200fps到190fps的下降可以忽略不计,而从30fps到20fps的下降是一个更大的交易。 为了更好地进行性能测量,您应该计算帧时间而不是FPS。

你从来没有告诉我们你的fps是什么或者程序在做什么,所以你的“大幅下降”可能根本不是什么大问题。

对于DirectX,有PIX用于分析CPU和GPU操作。 它可以提供非常详细的信息,可能值得研究。

希望有所帮助!

您可以尝试使用dxprof(在谷歌搜索)。 它是轻量级应用程序,可以绘制实时条形图,每个条形图对应一个DirectX事件(例如绘图调用或资源复制)。 您可以冻结条形图并检查调用堆栈以找出draw-call的来源。

无需猜测。 只需在IDE下暂停一下 ,它就会向您显示它正在等待的内容。

你在为Windows开发吗? 如果是这样,请避免使用Video for Windows,因为这会以您描述的方式限制您。 请改用DirectX。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM