MFC C ++ CView在调试时刷新率慢

时间:2017-01-09 16:01:04

标签: c++ performance visual-studio mfc

问题:在MFC中,我的表格和图形(在视图中)在发布模式下刷新得非常快,在调试模式下非常慢,直到我开始重新填充数据(我们运行收集大数据的测试)套(10,000分))。

我以两种不同的方式使用CView类。

  1. 我使用我们创建的代码手动绘制表格和图表。
  2. 我使用工具包编写的TableGridView:http://www.codejock.com/products/toolkitpro/它有自己的GridView类,它是从CView派生的。
  3. 两种方式都表现出非常慢的刷新率,直到我开始重新填充图表和具有大量数据集的表。

    我无法确定导致缓慢刷新率的原因。我进入了发布模式,关闭了代码优化,并没有重新创建调试模式的缓慢刷新率。

    问题:我将非常感谢有关如何缩小这种行为原因的任何提示。

1 个答案:

答案 0 :(得分:0)

我找到了问题的解决方案,并想分享它。在我们代码的#ifdef _DEBUG部分中,我们使用_CrtSetDbgFlag()设置标志 在堆上执行额外的内存检查。这大大减慢了软件速度。

设置

_CrtSetDbgFlag(_CRTDBG_CHECK_DEFAULT_DF); 

我的代码在调试模式下运行得很快