幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2609|回复: 9

怎么统计一个程序里各部分的消耗?

[复制链接]

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
发表于 2008-1-17 01:47:45 | 显示全部楼层 |阅读模式
嘛,如题……VC2003的

主要是统计各语句被调用的次数,最好能有直观的图形(直方图之类的)。

背景就是为一个引擎添加了音频部分之后FPS剧降,调查原因……
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复

使用道具 举报

18

主题

428

帖子

5260

积分

⑦老手

在美工荒中挣扎的全能

积分
5260
QQ
发表于 2008-1-17 10:49:04 | 显示全部楼层
VC不太清楚,gcc有个Profiler= v =
回复 支持 反对

使用道具 举报

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
 楼主| 发表于 2008-1-17 11:26:17 | 显示全部楼层
Profiler介绍下?
嘛,虽然是VC开发的东西,但也是可以用GCC编译的……
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2008-1-17 17:34:39 | 显示全部楼层
自己在重要函数中加一个static引用计数,Printf出来不可以么 [s:3]
实际上,有些工具难配置的话还不如土方法.
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

18

主题

428

帖子

5260

积分

⑦老手

在美工荒中挣扎的全能

积分
5260
QQ
发表于 2008-1-17 17:58:45 | 显示全部楼层
gprof其实很简单
gcc编译的时候加一个-pg选项,然后运行。
运行结束后用gprof生成报表就行
回复 支持 反对

使用道具 举报

50

主题

742

帖子

402

积分

版主

自定义头衔

Rank: 7Rank: 7Rank: 7

积分
402
发表于 2008-1-17 20:49:55 | 显示全部楼层
VC当然配备了性能统计了-

不过对于明显的迟缓,在通常可以用打印时间来衡量- -~
Style-C
回复 支持 反对

使用道具 举报

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
 楼主| 发表于 2008-1-17 20:55:20 | 显示全部楼层
自己在重要函数中加一个static引用计数,Printf出来不可以么  
实际上,有些工具难配置的话还不如土方法.
这个方法也想过,不过要统计全个程序的数据,用printf很麻烦……而且因为是游戏引擎,printf本身的消耗也是不能忽略的……

本来VC6是有profiler的,不知道为什么到2003之后就没了,不知道M$怎么想的……
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2008-1-18 09:43:11 | 显示全部楼层
#ifdef _DEBUG
#define PRINTF printf
#else
#define PRINTF
#endif

另外如5楼所说,每个常用函数头尾还可以加入时间计算,以获得该函数计算运行时间.
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

8

主题

215

帖子

2223

积分

⑥精研

积分
2223
发表于 2008-1-19 11:58:44 | 显示全部楼层
VC6的profiler在这里有相关链接: http://msdn2.microsoft.com/en-us/library/aa269512.aspx
VC2003是比较奇怪...VC7和VC7.1似乎都没什么好的内建profiling工具.囧大有兴趣的话可以试试一些外部profilier,例如说这个 http://www.automatedqa.com/products/aqtime/
VC8也可以用AQTime来profile

主要是换上.NET平台之后,VS里集成的profiler似乎只有针对managed code的是特别好用的了...
嘛反正我用ICC的profiler...
回复 支持 反对

使用道具 举报

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
 楼主| 发表于 2008-1-20 13:58:01 | 显示全部楼层
连VS71里集成了profiler都不知道……主要是为省空间最小安装了……
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-30 10:27 , Processed in 0.022194 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表