【发布时间】:2014-04-23 03:32:22
【问题描述】:
已解决:当简单的分析不够有效时,我编写了一个工具来显示性能下降的位置。有关该工具如何工作的基本信息在下面接受的答案中。源代码可以在这里找到:http://pastebin.com/ETiW8hE8(一定要在你正在测试的程序中打开调试符号)
我已经用 C++ 构建了一个游戏引擎,我注意到在一个关卡的一个特定区域中,性能受到了短暂的影响。游戏将完全停止大约半秒钟,然后继续愉快地进行。我试图对此进行分析,但很难隔离这种情况,因为我还必须加载地图并执行导致性能下降的游戏内任务。我可以自动加载地图并跳过显示菜单等,并将这些配置文件结果与一组类似的控制数据进行比较(所有相同的步骤,但没有实际启动性能影响),但它没有显示任何明显的东西。
我正在使用 gmon 进行分析。
这是一个包含许多类和函数的大型应用程序。性能损失只发生一次,因此无法在一次执行期间多次触发问题以使我的分析结果饱和,从而使有问题的函数在分析结果中更加明显。
我还能做什么?
【问题讨论】:
-
我不确定我的昂贵功能是什么,这就是我想要弄清楚的。
标签: c++ performance profiling