У меня есть приложение Qt, которое предназначено для визуализации деталей.Поэтому мы используем интерфейс Qt OpenGL QGLWidget
.В этом приложении нам иногда приходится загружать и визуализировать много данных (до 4 ГБ двойных точек в 3D).Затем приложение работает медленно, но это не имеет значения, потому что производительность здесь не является реальной проблемой.Рендеринг одного кадра обычно занимает около 100 мс.
Проблема, к которой мы приближаемся, заключается в следующем: после того момента, как программа создала тяжелые данные и мы их загрузили, нам обычно требуется много оперативной памяти.Выделение памяти намного быстрее, когда приложение запускается из Visual Studio, чем при запуске «нормально».
В диспетчере задач я вижу, что скорость увеличения необходимой памятиочень разные.В то время как одно приложение может выделять около 1 ГБ памяти в секунду, другое может выделять только около 50 МБ в секунду.
Мой вопрос: в чем разница, когда приложение запускается из Visual Studio?Оба раза мы используем версию выпуска defaullt из VS.Что может вызвать такие проблемы и как я могу определить источник этих проблем?
Дополнительная информация: Это приложение основано на Qt5.Существует 10-летняя версия этого приложения, запрограммированная на Qt3 и Qt4.У нас больше нет источников этого приложения.Когда используется Qt3 / 4, мы не подходим к этим проблемам.Кажется, что поведение старого приложения такое же, как и при запуске приложения Qt5 с VS.
Мы используем Visual Studio 2015 и Qt5.9.1
Я проследил как раз использование процессора и памятииспользование:
В Visual Studio:
Без Visual Studio:
Вы видите, что увеличение объема памяти первого намного быстрее, чем второго.