环境配置:Windows 7 旗舰版 & &vs2012
通过vs2012的分析菜单选择性能向导:
完成后,将运行程序,运行两分钟后,结束程序,得到如下的”摘要“报告:
从上的”摘要“报告分析出:在整个程序运行期间,cpu使用百分比比较平稳地稳定在50%左右,且在这个过程中函数ig4icd32.dll的执行次数遥遥领先,其次是
_md2_drawModelgi。接下来我们打开”调用关系树“,如下:
分析可知,在程序运行后通过消息循环在不断地进行碰撞检测和场景的渲染,可以说碰撞检查是程序中的一个主要模块,也是决定程序运行效率的主要模块。
接下来我们再跟踪下几个耗时的函数,转入”函数详细信息“如下:
分析看出:Render函数占了很大的比例,我们看到这个函数主要进行了游戏中人物的设置,场景的渲染等,而其中函数setman和Scene函数的比例占到了70%,于是我们再往下跟踪,分别进入setman和Scene函数,如下:
看出,在setman函数主要进行的操作是md2_drawModel,再继续跟踪,如下:
可以看到,下层调用的函数是ig4icd32。我们再继续跟踪Scene函数如下:
可以看到到底层时依旧调用的是ig4icd32,因此可以看出我们大量的利用了函数ig4icd32,因此我们可以通过改善ig4icd32函数来提高程序效率,或改用其他更高效的函数来实现相应的功能,也可以通过改善ig4icd32的调用函数来提高程序的效率。
程序执行结果如下:
小结:在这次分析中遇到了许多问题,每一个问题都给自己带来了不小的收获,在这个过程中,锻炼了自己解决问题的能力和解决问题的方式,给自己积累了不少经验,同时我也看到了自己一些有待加强的地方:
1、程序的运行环境和运行配置很重要
2、字符的编码问题
3、英语文献的阅读能力
4、熟悉百度,谷歌的基本搜索技巧
5、积累几个源码网站
6、对一个项目的整体把握力
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:575次
排名:千里之外