Написал приложение, которое постоянно будет запущено на пк и собирать данные с датчиков, выводя это в виде графиков. Оставлял приложение работать пару дней с одним датчиков (потом будет около 40) в итоге интерфейс приложения начинает подлагивать, с чем это может быть связано? Все данные пишу в кучу
Обычно это связано с криво написанным приложением.
Во первых - интерфейс отдельно - мониторинг отдельно. Интерфейс можно закрыть - демон/служба мониторинга останется
Во вторых - куда пишутся данные? В оперативу? Сколько приложение выжрало? Какие структуры данных использовали? Пробовали писать в БД?
Данные лежат в оперативе, каждый график выводится в subwindow в mdiarea. Проводил эксперемент и записывал данные не каждые 2ч а например каждую секунду и набирал сразу много данных, и ничего не лагало, приложение за 5 дней набирало до 80мб ОЗУ.
Славка Ну так может у вас просто данных на графике много? В общем - профилировщик в зубы и вперед. Ничего другого тут не скажешь, не видя код и не тестируя приложение. Сходу: тормозит на записи на винт, тормозит при отрисовке огромных графиков, тормозит из за аллокаций и фрагментации памяти.
Всё просто: получай данные 1000000 раз => клади ОДИН раз и очищай память под новую порцию!
Выходишь из приложения - скидываешь что есть на диск и закрываешь.
кривое приложение, озу мало и она не очищается.
Какое-то время, подобное можно было увидеть в гугл хром.. когда отвыкаешь вкладки, закрываешь а расход памяти только увеличивается и в итоге краш с последующей перезагрузкой.
Открой монитор ресурсов и смотри.
нужно смотреть монитор ресурсов, но скорее всего немного криво написано приложение. Надо проследить запись в БД (если туда пишется) и отслеживать какая часть приложения жрет больше всего ресурсов и пробовать ее оптимизировать.