Я использую 32-битную GLUT на 64-битной Windows 7 с Visual Studio 2010. Проект просто содержит мою реализацию C ++ и заголовочные файлы. Нет специфичного для Win32 кода.
Я делаю много операций рисования пикселей. Это происходит мгновенно с конфигурацией релиза, но очень медленно (по крайней мере, 5 секунд, пока он рисует) с конфигурацией отладки. Я заметил, что это замедлилось больше, когда я рисовал больше. Итак, я понял, профиль это.
Профилировщик Visual C ++ говорит, что 100% (я предполагаю, что это округлено) времени потрачено на _mainCRTStartup
. Я понимаю, что это время выполнения C, но что заставляет его работать так медленно в конфигурации отладки? Эквивалентный код C одинаково мгновенен как в конфигурации отладки, так и в выпуске. Есть ли что-то особенное в C ++, которое заставляет _mainCRTStartup
намного дольше?
РЕДАКТИРОВАТЬ: Очевидно, я упустил одну вещь: в кадре _mainCRTStartup есть ссылка на Unknown frame(s)
. Я предполагаю, что это main()
и его дочерние функции. Я не могу заставить его профилировать функции, которые я написал, ни в отладке, ни в выпуске. Куда мне пойти после этого?