最近新进入了一个项目,还没参与过这个项目的开发,使用 VS 分析了一下性能有什么可以优化的地方。下面记录一下分析过程吧。
打开 VS(2013) 性能分析工具
选择性能和诊断,点击开始
收集好数据后点击结束,再点击创建详细数据报告
视图选择函数,这里可以看到每个函数占用性能的概况,并按非独占样本数百分比排序。忽略调用的库以及exe,可以看到2个委托的 paint 函数占比都比较高。
双击进来可以看到,图片的初始化和缩放比较占用性能
因为委托的 paint 函数会被频繁的调用,对于固定的图片,建议使用静态变量或者使用成员变量(成员变量不要在 paint 函数进行初始化或者复制),因为图片的初始化比较耗时,这样可以避免图片重复初始化,提升性能。以下是将固定的图片设为静态变量后的效果。
可以看到,使用静态变量后,图片的绘制性能会有一个明显的改善。