我在64位Windows 7和Visual Studio 2010上使用32位GLUT。该项目只包含我的C ++实现和头文件。没有特定于Win32的代码。
我做了很多像素绘制操作。它与发布配置一起即时,但在调试配置下非常慢(至少需要5秒)。当我画得更多时,我注意到它的速度减慢了。所以我想,描述一下。
Visual C ++分析器说_mainCRTStartup
花费了100%(我猜这是四舍五入)的时间。我知道这是C运行时,但是什么导致它在调试配置中运行得如此之慢?在调试和发布配置中,等效的C代码同样是瞬时的。 C ++有什么特别之处让_mainCRTStartup
需要更长的时间吗?
编辑:显然我忽略了一件事:在_mainCRTStartup框架下,有一个对Unknown frame(s)
的引用。我假设这是main()
及其子函数。我无法在调试或发布中实际编写我编写的函数。我在哪里去了?
答案 0 :(得分:1)
调试器可能无法找到您使用的DLL的.pdb文件。首先要检查您的符号服务器设置。工具+选项,调试,符号。取消选中符号文件位置,然后重试。
答案 1 :(得分:0)
_mainCRTStartup
中的“独占%样本”是什么?包容性样本对于这个例程毫无价值。
答案 2 :(得分:0)
_mainCRTStartup
是调用main
的主要功能。所以是的,对于每个程序,100%的时间都花在了该函数中 - 因为它调用了所有其他函数。
您正在分析调试模式?为什么?