Вы столкнулись с ситуацией, когда приложение C++ opengl работает быстрее и более плавно, когда выполняется из визуальной студии? Когда выполняется нормально, без отладчика, я получаю более низкую частоту кадров, 50 вместо 80 и странное отставание, где fps погружается до 25 кадров/сек каждые 20-30 кадров. Есть ли способ исправить это?Приложение C++/opengl работает с плавным отладчиком
Редактировать: Также мы используем довольно много списков отображения (созданных с помощью glNewList). И увеличение количества отображаемых списков, похоже, увеличивает отставание.
Редактировать: Проблема, по-видимому, вызвана ошибками страницы. Настройка рабочего процесса с помощью SetProcessWorkingSetSizeEx() не помогает.
Редактировать: С некоторыми крупными моделями проблему легко обнаружить с использованием GPU-памяти утилиты procexp-utility. Использование памяти очень нестабильно, когда на каждый кадр много вызовов glCallList. Никакая новая геометрия не добавляется, текстуры не загружаются, но распределение памяти gpu колеблется + -20 Мбайт. Через некоторое время он становится еще хуже и может выделять что-то вроде 150Mb за один раз.
Вы используете полноэкранный режим, а не в полноэкранном режиме в отладчике? Это означает, что V-sync включен. – stonemetal
Не полноэкранный, но максимизированный. V-sync должен быть отключен в обоих случаях. Иногда я получаю fps-rate более 100 и все еще отстаю. – AareP
вы должны использовать что-то вроде Process Explorer, чтобы увидеть, какие DLL-файлы загружаются в обоих случаях, и если одна и та же DLL загружается из путей differenc. – PeterT