Emgu CV - утечки памяти (потребление памяти)

Я использую EmguCV, оболочку OpenCV для .NET. Я удаляю все созданные объекты, но мое приложение по-прежнему использует все больше и больше памяти (также и в конфигурации выпуска). Я отладил свое приложение с помощью профилировщика памяти .NET и получил такой результат:

http://img532.imageshack.us/img532/2503/screenqv.png

количество экземпляров всех объектов колеблется, но количество экземпляров GChandle увеличивается до тех пор, пока моя машина не станет непригодной для использования. Сборщик мусора не освобождает память (я так думаю).

Я использую профессиональную версию VS 2008, 32-разрядную версию Win7 prof, как актуальную, так и последнюю стабильную версию emguCV.

Я могу опубликовать код приложения, если это поможет.

Спасибо и извините за мой английский. Мартин


person Martin Pilch    schedule 16.05.2010    source источник
comment
OpenCV очень неприятный, когда дело доходит до удаления объектов. Я бы сказал, что вы, скорее всего, не избавляетесь от чего-то, от чего следует избавляться. Напишите какой-нибудь код, и, возможно, мы сможем найти вашу ошибку.   -  person ubiquibacon    schedule 17.05.2010


Ответы (1)


Посмотрите ссылку ниже о том, как сделать автоматическую сборку мусора.
http://www.emgu.com/wiki/index.php/Working_with_Images
У меня была похожая проблема, и я начал улучшать свой код, используя различные рекомендации по ссылке выше.
С уважением
Шивам

person Shivam    schedule 21.02.2011
comment
Ну, это мало что говорит. Только то, что вам нужно либо распоряжаться вручную (например, с помощью using), либо ждать GC. И что утилизация лучше. - person CodesInChaos; 21.02.2011
comment
Спасибо, это очевидный ответ. Захват изображения со скоростью 100 мс в течение часа... Спасибо. - person Rusty Nail; 05.09.2013